:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-status{display:flex;align-items:center;gap:8px;font-size:14px}.auth-status.loading{opacity:.6}.auth-status .spinner{width:16px;height:16px;border:2px solid #e9ecef;border-top:2px solid #339432;border-radius:50%;animation:spin 1s linear infinite}.auth-user-info{display:flex;align-items:center;gap:6px;color:#495057}.auth-username{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-admin-badge{color:#339432;opacity:.8}.auth-login-btn,.auth-logout-btn{padding:6px 12px;border:1px solid #dee2e6;border-radius:6px;background:white;color:#495057;font-size:13px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.auth-login-btn:hover,.auth-logout-btn:hover{background:#f8f9fa;border-color:#339432;color:#339432}.auth-login-btn:active,.auth-logout-btn:active{transform:translateY(1px)}.auth-logout-btn{padding:6px;border:none;background:transparent;color:#6c757d}.auth-logout-btn:hover{background:rgba(51,148,50,.1);color:#339432}.protected-route-loading{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.protected-route-spinner{width:32px;height:32px;border:3px solid #e9ecef;border-top:3px solid #339432;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.auth-username{max-width:80px}.auth-status{font-size:13px}}.auth-login-btn:focus,.auth-logout-btn:focus{outline:2px solid #339432;outline-offset:2px}@media (prefers-contrast: high){.auth-login-btn,.auth-logout-btn{border:2px solid}}@media (prefers-reduced-motion: reduce){.spinner,.protected-route-spinner{animation:none}.auth-login-btn,.auth-logout-btn{transition:none}}.landing-root{min-height:100vh;display:flex;flex-direction:column;background:rgba(51,148,50,.9);color:#fff;padding:32px clamp(16px,4vw,48px);box-sizing:border-box;position:relative;overflow:hidden}.landing-header{display:flex;align-items:center;gap:clamp(.75rem,1.2vw,1.2rem);font-family:Alexandria,Montserrat,sans-serif;font-weight:600;font-size:clamp(14px,1.3vw,20px);letter-spacing:.5px}.landing-wordmark{font-family:Alexandria,Montserrat,sans-serif;font-weight:600;font-size:clamp(14px,1.5vw,22px);letter-spacing:.08em;display:inline-block;transform-origin:left center}.landing-main{flex:1;display:flex;flex-direction:column;justify-content:center}.landing-hero{max-width:520px;display:flex;flex-direction:column;gap:1.85rem}.landing-title{font-family:Abril Fatface,serif;font-size:clamp(38px,6.5vw,72px);line-height:1.12;margin:0;font-weight:400;letter-spacing:-.5px}.landing-tagline{font-family:Montserrat,Inter,sans-serif;font-weight:400;font-size:clamp(15px,1.8vw,20px);line-height:1.55;margin:0;max-width:520px;color:#ffffffeb}.landing-actions{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem;width:100%}.landing-btn{font-family:Montserrat,Inter,sans-serif;font-weight:700;font-size:clamp(15px,1.2vw,18px);border-radius:8px;padding:clamp(14px,1.5vw,18px) clamp(18px,2vw,24px);cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease;border:2px solid transparent;position:relative}.landing-btn.primary{background:#ffffff;color:#016b22;box-shadow:0 4px 14px #00000026}.landing-btn.primary:hover{box-shadow:0 6px 22px -2px #00000052;transform:translateY(-2px)}.landing-btn.primary:active{transform:translateY(0);box-shadow:0 4px 14px #00000026}.landing-btn.outline{background:transparent;color:#fff;border-color:#fff}.landing-btn.outline:hover{background:rgba(255,255,255,.09)}.landing-btn:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.landing-arcs:before,.landing-arcs:after{content:"";position:absolute;pointer-events:none;filter:blur(70px);z-index:0}.landing-arcs:before{width:160%;height:140%;top:-45%;left:-55%;background:radial-gradient(ellipse at 70% 60%,rgba(255,255,255,.14),rgba(255,255,255,0) 70%);opacity:.55;mix-blend-mode:soft-light}.landing-arcs:after{width:180%;height:160%;bottom:-55%;right:-65%;background:radial-gradient(ellipse at 30% 40%,rgba(0,0,0,.18),rgba(0,0,0,0) 72%);opacity:.35;mix-blend-mode:overlay}.landing-content,.landing-header,.landing-main,.landing-hero{position:relative;z-index:1}@media (min-width: 1400px){.landing-arcs:before{opacity:.6}.landing-arcs:after{opacity:.4}.landing-arcs:after{background:radial-gradient(ellipse at 35% 45%,rgba(0,0,0,.18),rgba(0,0,0,0) 72%)}.landing-arcs:before{background:radial-gradient(ellipse at 68% 58%,rgba(255,255,255,.15),rgba(255,255,255,0) 70%)}}.hero-fade-item{opacity:1;transform:translateY(0)}@media (min-width: 1200px){.landing-content{padding:40px clamp(48px,6vw,80px)}.landing-hero{max-width:700px;gap:2.2rem}.landing-actions{flex-direction:row;gap:1.5rem}.landing-actions .landing-btn{flex:1;text-align:center}.landing-title{font-size:clamp(56px,7vw,80px)}.landing-tagline{font-size:clamp(18px,2vw,22px);max-width:600px}.brand-logo-img{width:clamp(40px,3.5vw,56px)}.landing-wordmark{font-size:clamp(18px,1.8vw,24px)}.landing-btn{font-size:clamp(16px,1.3vw,20px);padding:clamp(16px,1.8vw,22px) clamp(24px,2.5vw,32px)}}@media (min-width: 769px){.landing-root{display:grid;grid-template-columns:1fr 1fr;padding:0;align-items:stretch}.landing-content{grid-column:1;padding:32px clamp(24px,4vw,48px);display:flex;flex-direction:column;min-height:100vh}.landing-visual-panel{grid-column:2;height:100vh;background-image:url(/assets/landingpage_img-dfb6926b.png);background-size:cover;background-position:bottom center;background-repeat:no-repeat;display:block}}@media (max-width: 768px){.landing-visual-panel{display:none}.landing-root{display:flex;flex-direction:column;min-height:100vh;padding:0;justify-content:center;align-items:center;position:relative}.landing-header{position:absolute;top:clamp(24px,5vh,40px);left:clamp(16px,4vw,32px);right:clamp(16px,4vw,32px);z-index:10}.landing-main{flex:0;display:flex;align-items:center;justify-content:center;width:100%;padding:0 clamp(16px,4vw,32px)}.landing-hero{text-align:left;width:100%;max-width:400px}}@media (min-width: 1600px){.landing-content{padding:60px clamp(80px,8vw,120px)}.landing-hero{max-width:800px;gap:2.8rem}.landing-title{font-size:clamp(72px,8vw,96px)}.landing-tagline{font-size:clamp(20px,2.2vw,26px);max-width:700px}.brand-logo-img{width:clamp(48px,4vw,64px)}.landing-wordmark{font-size:clamp(20px,2vw,28px)}.landing-btn{font-size:clamp(18px,1.5vw,22px);padding:clamp(18px,2vw,26px) clamp(28px,3vw,40px);border-radius:10px}.landing-actions{gap:2rem}}@media (orientation: landscape) and (max-height: 500px){.landing-root{padding-top:24px;padding-bottom:24px}.landing-hero{gap:1.2rem}.landing-title{font-size:clamp(28px,4vw,46px)}}.auth-content-wrapper{height:100vh;background:rgba(51,148,50,.9);color:#fff;display:flex;flex-direction:column;padding:clamp(16px,3vw,24px) clamp(16px,4vw,32px);padding-top:max(clamp(16px,3vw,24px),env(safe-area-inset-top));padding-bottom:max(clamp(16px,3vw,24px),env(safe-area-inset-bottom));padding-left:max(clamp(16px,4vw,32px),env(safe-area-inset-left));padding-right:max(clamp(16px,4vw,32px),env(safe-area-inset-right));box-sizing:border-box;font-family:Montserrat,Inter,sans-serif;align-items:center;justify-content:center;overflow:auto;min-height:0}@media (min-width: 769px){.auth-screen-root{display:grid;grid-template-columns:1.2fr .8fr;grid-template-areas:"content image"}.auth-content-wrapper{grid-area:content;padding:clamp(24px,4vw,48px);height:100vh;display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:auto;min-height:0}.auth-image-column{grid-area:image;background-image:url(/assets/landingpage_img-dfb6926b.png);background-size:cover;background-position:bottom center;background-repeat:no-repeat;height:100vh}}@media (min-width: 1440px){.auth-screen-root{grid-template-columns:1.35fr .65fr}}@media (min-width: 1920px){.auth-screen-root{grid-template-columns:1.5fr .5fr}}.auth-screen-inner{max-width:none;width:100%;display:flex;flex-direction:column;gap:clamp(20px,3vh,32px);height:100%;justify-content:space-between;overflow:auto;min-height:0}.auth-top-bar{display:flex;align-items:center;justify-content:space-between;min-height:56px;margin-bottom:clamp(8px,2vh,16px)}.auth-content{display:flex;flex-direction:column;gap:clamp(20px,4vh,28px);flex:1 1 auto;justify-content:center;padding-block:clamp(8px,4vh,24px)}.auth-header{display:flex;flex-direction:column;align-items:flex-start!important;width:100%;text-align:left!important;gap:clamp(8px,1.6vh,16px)}.auth-subtext{margin:0;font-size:clamp(14px,3.5vw,20px);line-height:1.4;max-width:clamp(520px,80%,1100px);color:#ffffffeb;text-align:left!important}@media (min-width: 1200px){.auth-title{font-size:clamp(56px,7.5vw,84px)}.inline-otp-group{display:flex;gap:clamp(8px,1.2vw,14px);justify-content:center;margin:20px 0 8px}.inline-otp-cell{--otp-size:64px;--otp-font:32px;width:var(--otp-size);height:var(--otp-size);background:#fff;border:2px solid rgba(0,0,0,.18);border-radius:18px;font-size:var(--otp-font);font-weight:700;text-align:center;color:#015d1d;letter-spacing:1px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;box-shadow:0 4px 12px #00000024,inset 0 1px 2px #fff9;caret-color:#4a9b4d;font-family:Montserrat,Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}.inline-otp-cell:hover:not(:disabled){border-color:#3e9b45}.inline-otp-cell:focus{outline:none;border-color:#4a9b4d;background:#fff;box-shadow:0 0 0 4px #4a9b4d47,0 6px 18px #00000040;transform:translateY(-2px)}.inline-otp-cell[data-filled=true]{border-color:#4a9b4d;background:#ffffff;box-shadow:0 0 0 3px #4a9b4d40,0 6px 20px #4a9b4d59;animation:otp-pop .28s cubic-bezier(.68,-.55,.265,1.55)}.inline-otp-group.error .inline-otp-cell{border-color:#d9534f;background:#ffe6e6;color:#c62828;animation:otp-shake .45s cubic-bezier(.36,.07,.19,.97)}.inline-otp-cell:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.6)}@media (max-width:620px){.inline-otp-cell{--otp-size:56px;--otp-font:30px;border-radius:16px}}@media (max-width:520px){.inline-otp-cell{--otp-size:50px;--otp-font:28px;border-radius:14px}}@media (max-width:420px){.inline-otp-cell{--otp-size:46px;--otp-font:26px}}@media (max-width:370px){.inline-otp-cell{--otp-size:42px;--otp-font:24px}}@keyframes otp-pop{0%{transform:scale(.92)}55%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes otp-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.inline-otp-cell,.inline-otp-cell[data-filled=true],.inline-otp-group.error .inline-otp-cell{animation:none!important;transition:none!important}.inline-otp-cell:focus{transform:none}}.auth-subtext{font-size:clamp(18px,2.2vw,22px);max-width:min(80ch,92%)}}@media (min-width: 1600px){.auth-title{font-size:clamp(72px,8vw,96px)}.auth-subtext{font-size:clamp(20px,2.4vw,24px);max-width:min(90ch,94%)}}.auth-form{display:flex;flex-direction:column;gap:clamp(16px,2.2vh,24px);width:100%}.auth-mail-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);stroke:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.auth-input{width:100%;padding:13px 14px 13px 44px;border-radius:6px;border:1px solid rgba(255,255,255,.55);background:#ffffff;color:#1a1a1a;font-size:14px;font-weight:500;font-family:Montserrat,Inter,sans-serif;letter-spacing:.25px;outline:none;transition:border-color .18s ease,background .18s ease;box-shadow:none;min-height:46px}.auth-field--welcome-variant{--welcome-green:#016b22;--welcome-green-hover:#014b19;--welcome-fs: clamp(14px, 1.05vw, 18px);--welcome-pad-y: clamp(13px, 1.05vw, 18px);--welcome-pad-x: clamp(14px, 1vw, 22px);--welcome-icon-gap: clamp(48px, 3.3vw, 60px);--welcome-min-h: clamp(46px, 4.8vw, 68px)}.auth-input-wrapper--welcome{position:relative}.auth-mail-icon--welcome{stroke:var(--welcome-green);filter:none;width:clamp(18px,1.4vw,24px);height:clamp(18px,1.4vw,24px);left:clamp(14px,1vw,20px)}.auth-input--welcome{width:100%;font-size:var(--welcome-fs);padding:var(--welcome-pad-y) var(--welcome-pad-x) var(--welcome-pad-y) var(--welcome-icon-gap);min-height:var(--welcome-min-h);border:1px solid var(--welcome-green);border-radius:6px;background:#ffffff;color:#1a1a1a;font-weight:500;letter-spacing:.25px;transition:border-color .18s ease,background .18s ease}.auth-input--welcome:focus,.auth-input--welcome:hover,.auth-input--welcome:active{border-color:var(--welcome-green-hover);background:#ffffff;outline:none}.auth-input--welcome::placeholder{color:#6b7370;font-weight:500}.auth-error{color:#ffe2e2;font-size:13px;margin-top:6px;font-weight:500}.auth-helper{font-size:12px;opacity:.85;text-align:center;margin-top:clamp(4px,1vh,8px)}@media (min-width: 769px){.auth-content-wrapper{padding:clamp(32px,5vw,64px);padding-top:max(clamp(32px,5vw,64px),env(safe-area-inset-top));padding-bottom:max(clamp(32px,5vw,64px),env(safe-area-inset-bottom));padding-left:max(clamp(32px,5vw,64px),env(safe-area-inset-left));padding-right:max(clamp(32px,5vw,64px),env(safe-area-inset-right))}.auth-screen-inner{gap:clamp(24px,4vh,40px);justify-content:space-between;overflow:auto;min-height:0}.auth-brand-wordmark{font-size:clamp(16px,1.8vw,24px)}}@media (min-height: 900px){.auth-screen-inner{justify-content:space-evenly}.auth-content{justify-content:center}}@media (min-width: 769px){.auth-screen-inner{max-width:none;width:100%;margin:0}}@media (min-width: 1024px){.auth-content-wrapper{align-items:stretch}.auth-screen-inner{max-width:none;width:100%;margin:0}}@media (min-width: 1200px){.auth-content-wrapper{padding:clamp(48px,6vw,80px);padding-top:max(clamp(48px,6vw,80px),env(safe-area-inset-top));padding-bottom:max(clamp(48px,6vw,80px),env(safe-area-inset-bottom));padding-left:max(clamp(48px,6vw,80px),env(safe-area-inset-left));padding-right:max(clamp(48px,6vw,80px),env(safe-area-inset-right))}}@media (min-width: 1440px){.auth-content-wrapper{padding:clamp(56px,8vw,160px);padding-top:max(clamp(56px,8vw,160px),env(safe-area-inset-top));padding-bottom:max(clamp(56px,8vw,160px),env(safe-area-inset-bottom));padding-left:max(clamp(56px,8vw,160px),env(safe-area-inset-left));padding-right:max(clamp(56px,8vw,160px),env(safe-area-inset-right))}.auth-content{gap:clamp(28px,5vh,48px)}.auth-form{gap:clamp(20px,3vh,28px)}.auth-input{font-size:16px;padding:clamp(16px,1.2vw,20px) 20px clamp(16px,1.2vw,20px) 48px}.auth-field-label{font-size:14px}.auth-submit{font-size:16px;padding:clamp(16px,1.2vw,20px) 24px}}@media (min-width: 1920px){.auth-content-wrapper{padding:clamp(72px,10vw,200px);padding-top:max(clamp(72px,10vw,200px),env(safe-area-inset-top));padding-bottom:max(clamp(72px,10vw,200px),env(safe-area-inset-bottom));padding-left:max(clamp(72px,10vw,200px),env(safe-area-inset-left));padding-right:max(clamp(72px,10vw,200px),env(safe-area-inset-right))}.auth-content{gap:clamp(32px,6vh,56px)}.auth-form{gap:clamp(24px,3.5vh,32px)}}.auth-input{line-height:1.2;display:flex;align-items:center}.auth-input:not(.auth-input--welcome){min-height:46px}.auth-input--welcome{min-height:46px}@media (min-width:769px){.auth-input:not(.auth-input--welcome){min-height:46px}.auth-input--welcome{min-height:46px}}.auth-input--welcome{min-height:44px!important;padding-top:11px!important;padding-bottom:11px!important;padding-left:42px!important;font-size:14px}@media (orientation: landscape) and (max-height: 560px){.auth-content-wrapper{padding:clamp(10px,2vh,16px) clamp(12px,4vw,24px)}.auth-screen-inner{gap:clamp(12px,2vh,16px);max-height:100vh}.auth-header{gap:clamp(6px,1.4vh,12px)}.auth-title{line-height:1.08}.auth-subtext{line-height:1.35}.auth-form{gap:clamp(12px,1.6vh,16px)}}@media (max-width: 360px){.auth-content-wrapper{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.auth-screen-inner{padding-inline:0}}@media (max-width: 480px){.auth-title{font-size:clamp(24px,7vw,38px);line-height:1.15;letter-spacing:-.3px}.auth-subtext{font-size:clamp(13px,3.2vw,16px);line-height:1.45}.auth-content{gap:clamp(16px,3vh,24px);padding-block:clamp(6px,2vh,16px)}.auth-form{gap:clamp(14px,2vh,20px)}.auth-field-label{font-size:12px}.auth-input{font-size:14px;padding:12px 14px 12px 42px;min-height:44px}.auth-input-wrapper i{font-size:16px;left:12px}.auth-mail-icon{width:18px;height:18px;left:12px}.auth-submit{font-size:14px;padding:13px 18px;min-height:44px}.brand-logo-img{width:clamp(28px,8vw,36px)}.auth-brand-wordmark{font-size:clamp(13px,4vw,16px)}.auth-back-btn{font-size:13px;padding:11px 14px;min-height:42px}.auth-back-icon{width:20px;height:20px}}@media (max-width: 400px){.auth-title{font-size:clamp(22px,6.5vw,32px)}.auth-subtext{font-size:clamp(12.5px,3vw,15px)}.auth-content{gap:clamp(14px,2.6vh,20px)}.auth-form{gap:clamp(12px,1.8vh,18px)}.auth-header{gap:clamp(6px,1.4vh,12px)}.auth-field-label{font-size:11.5px}.auth-input{padding:11px 12px 11px 40px}.auth-input-wrapper i,.auth-mail-icon{left:11px}.brand-logo-img{width:clamp(26px,7vw,32px)}.auth-brand-wordmark{font-size:clamp(12px,3.6vw,15px)}}@media (max-width: 320px){.auth-content-wrapper{padding:clamp(12px,2.5vw,16px) clamp(12px,3.5vw,20px);padding-top:max(clamp(12px,2.5vw,16px),env(safe-area-inset-top));padding-bottom:max(clamp(12px,2.5vw,16px),env(safe-area-inset-bottom))}.auth-title{font-size:clamp(20px,6vw,28px);line-height:1.18;letter-spacing:-.2px}.auth-subtext{font-size:clamp(12px,3.8vw,14px);line-height:1.4}.auth-content{gap:clamp(12px,2.2vh,18px);padding-block:clamp(4px,1.6vh,12px)}.auth-form{gap:clamp(10px,1.6vh,14px)}.auth-header{gap:clamp(5px,1.2vh,10px)}.auth-field{gap:5px}.auth-field-label{font-size:10.5px;letter-spacing:.4px}.auth-input{font-size:13px;padding:10px 10px 10px 38px;min-height:42px;border-radius:5px}.auth-input-wrapper i{font-size:15px;left:10px}.auth-mail-icon{width:16px;height:16px;left:10px}.auth-submit{font-size:13px;padding:11px 16px;min-height:42px;border-radius:7px}.brand-logo-img{width:clamp(24px,6.5vw,30px)}.auth-brand-wordmark{font-size:clamp(11px,3.4vw,14px);letter-spacing:.06em}.auth-back-btn{font-size:12px;padding:10px 12px;min-height:40px;border-radius:24px}.auth-back-icon{width:18px;height:18px}.auth-top-bar{min-height:48px;margin-bottom:clamp(6px,1.6vh,12px)}.auth-screen-inner{gap:clamp(16px,2.6vh,24px)}}@media (max-width: 290px){.auth-content-wrapper{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.auth-title{font-size:clamp(18px,6.5vw,24px);line-height:1.2}.auth-subtext{font-size:clamp(11px,4vw,13px)}.auth-content{gap:10px;padding-block:4px}.auth-form{gap:8px}.auth-header,.auth-field{gap:4px}.auth-field-label{font-size:10px;letter-spacing:.3px}.auth-input{font-size:12px;padding:9px 8px 9px 36px;min-height:40px}.auth-input-wrapper i{font-size:14px;left:9px}.auth-mail-icon{width:15px;height:15px;left:9px}.auth-submit{font-size:12px;padding:10px 14px;min-height:40px}.brand-logo-img{width:24px}.auth-brand-wordmark{font-size:11px}.auth-back-btn{font-size:11px;padding:9px 11px;min-height:38px}.auth-back-icon{width:16px;height:16px}.auth-top-bar{min-height:44px;margin-bottom:5px}.auth-screen-inner{gap:14px}}@media (max-width: 480px){.auth-field--welcome-variant{--welcome-fs: clamp(13px, 3vw, 14px);--welcome-pad-y: clamp(11px, 2.4vw, 13px);--welcome-pad-x: clamp(12px, 2.6vw, 14px);--welcome-icon-gap: clamp(40px, 10vw, 46px);--welcome-min-h: clamp(42px, 11vw, 46px)}.auth-mail-icon--welcome{width:clamp(16px,4vw,18px);height:clamp(16px,4vw,18px);left:clamp(11px,2.6vw,13px)}}@media (max-width: 320px){.auth-field--welcome-variant{--welcome-fs: 12.5px;--welcome-pad-y: 10px;--welcome-pad-x: 10px;--welcome-icon-gap: 38px;--welcome-min-h: 40px}.auth-mail-icon--welcome{width:15px;height:15px;left:10px}}@media (max-width: 290px){.auth-field--welcome-variant{--welcome-fs: 12px;--welcome-pad-y: 9px;--welcome-pad-x: 9px;--welcome-icon-gap: 36px;--welcome-min-h: 38px}.auth-mail-icon--welcome{width:14px;height:14px;left:9px}}@media (orientation: portrait) and (max-width: 400px) and (min-height: 600px){.auth-content{justify-content:flex-start;padding-block:clamp(12px,3vh,20px)}.auth-screen-inner{justify-content:flex-start;gap:clamp(20px,3.5vh,28px)}}@media (orientation: landscape) and (max-width: 767px) and (max-height: 420px){.auth-content-wrapper{padding:8px 16px}.auth-screen-inner{gap:10px}.auth-top-bar{min-height:40px;margin-bottom:6px}.auth-content{gap:10px;padding-block:4px}.auth-header{gap:4px}.auth-title{font-size:clamp(18px,4.5vw,24px);line-height:1.1}.auth-subtext{font-size:clamp(11px,2.6vw,13px);line-height:1.3}.auth-form{gap:8px}.auth-field{gap:4px}.auth-input{min-height:38px;padding:8px 10px 8px 36px}.auth-submit{min-height:38px;padding:9px 14px}.brand-logo-img{width:24px}.auth-brand-wordmark{font-size:11px}}@media (max-width: 480px){.auth-content{gap:clamp(14px,2.6vh,22px)}.auth-form{gap:clamp(12px,2vh,18px)}.auth-helper{font-size:11.5px}}@media (max-width: 320px){.auth-content{gap:clamp(12px,2vh,18px)}.auth-form{gap:clamp(10px,1.6vh,14px)}}@media (min-width:600px) and (max-width:900px) and (orientation:portrait){.auth-title{font-size:clamp(38px,6.2vw,56px)}.auth-subtext{font-size:clamp(15px,2.2vw,18px);line-height:1.5}.auth-content-wrapper{padding:clamp(28px,6vw,56px)}.auth-content{gap:clamp(22px,4vh,34px)}.auth-form{gap:clamp(16px,2.4vh,24px)}.auth-submit{font-size:15px}}@media (min-width:900px) and (max-height:620px){.auth-title{font-size:clamp(34px,5vw,52px);line-height:1.08}.auth-subtext{font-size:clamp(14px,1.6vw,18px);line-height:1.4}.auth-content{gap:clamp(16px,2.4vh,26px)}.auth-form{gap:clamp(12px,2vh,20px)}.auth-screen-inner{gap:clamp(18px,3vh,28px)}}@media (min-width:1400px) and (max-height:760px){.auth-title{font-size:clamp(40px,4.2vw,60px)}.auth-content{gap:clamp(20px,3vh,32px)}}@media (prefers-reduced-motion: reduce){.auth-fade-item{animation:none;opacity:1;transform:translateY(0)}}.auth-back-btn:focus-visible,.auth-submit:focus-visible,.auth-input--welcome:focus-visible,.auth-input:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:3px}@media (max-width:360px){.auth-back-btn:focus-visible,.auth-submit:focus-visible,.auth-input--welcome:focus-visible,.auth-input:focus-visible{outline-width:2px;outline-offset:2px}}@media (prefers-contrast: more){.auth-back-btn,.auth-submit{box-shadow:0 0 0 2px #00000059}.auth-input,.auth-input--welcome{border-color:#014b19}}@media (min-width: 769px){.auth-screen-root{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"content image"}.auth-content-wrapper{grid-area:content;padding:clamp(24px,4vw,48px);height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.auth-image-column{grid-area:image;background-image:url(/assets/landingpage_img-dfb6926b.png);background-size:cover;background-position:bottom center;background-repeat:no-repeat;height:100vh}}.auth-screen-inner{max-width:520px;width:100%;display:flex;flex-direction:column;gap:clamp(20px,3vh,32px);max-height:85vh;overflow:hidden}.auth-content{display:flex;flex-direction:column;gap:clamp(20px,4vh,28px)}.auth-code-header{display:flex;flex-direction:column;align-items:center!important;width:100%;text-align:center!important}.auth-title{font-family:Abril Fatface,serif;font-weight:400;margin:0;font-size:clamp(28px,8vw,72px);line-height:1.1;letter-spacing:-.5px;text-align:center!important}.auth-subtext{margin:0;font-size:clamp(14px,3.5vw,20px);line-height:1.4;max-width:520px;color:#ffffffeb;text-align:center!important}@media (min-width: 769px){.auth-title{font-size:clamp(42px,6vw,72px)}.auth-subtext{font-size:clamp(16px,2vw,20px);line-height:1.55;text-align:center!important}}@media (min-width: 1200px){.auth-title{font-size:clamp(56px,7.5vw,84px)}.auth-subtext{font-size:clamp(18px,2.2vw,22px);text-align:center!important}}@media (min-width: 1600px){.auth-title{font-size:clamp(72px,8vw,96px)}.auth-subtext{font-size:clamp(20px,2.4vw,24px);text-align:center!important}}.auth-form{display:flex;flex-direction:column;gap:clamp(16px,3vw,20px);width:100%}.auth-otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(6px,1.8vw,12px);width:100%;max-width:min(340px,85vw);margin:0 auto;justify-items:center;align-items:center}.auth-otp-input{aspect-ratio:1;border:1px solid #222;background:#ffffff;color:#222;font-size:clamp(13px,3.2vw,18px);font-weight:600;font-family:Montserrat,Inter,sans-serif;text-align:center;border-radius:5px;outline:none;transition:border-color .18s ease;padding:0;width:100%;height:auto;min-width:34px;max-width:56px;justify-self:center;align-self:center;box-shadow:none}@media (max-width: 480px){.auth-otp-input{min-width:34px;max-width:48px;font-size:clamp(13px,4vw,16px)}}@media (min-width: 481px) and (max-width: 768px){.auth-otp-input{min-width:40px;max-width:54px;font-size:clamp(15px,3vw,18px)}}@media (min-width: 769px) and (max-width: 1024px){.auth-otp-input{min-width:44px;max-width:58px;font-size:clamp(16px,2.5vw,19px)}}@media (min-width: 1025px){.auth-otp-input{min-width:48px;max-width:62px;font-size:clamp(17px,1.8vw,20px)}}.auth-otp-input:focus{border-color:#016b22;background:#ffffff;box-shadow:none}.auth-otp-input:hover,.auth-otp-input:active{background:#ffffff;border-color:#016b22}.auth-otp-input[aria-invalid=true]{border-color:#ffb3b3;background:rgba(255,0,0,.1)}.auth-error{color:#ffe2e2;font-size:13px;margin-top:6px;font-weight:500;text-align:center;background:rgba(255,107,107,.15);padding:10px 16px;border-radius:8px;border-left:3px solid #ff6b6b;animation:slideIn .3s ease}.auth-success{color:#d4ffd4;font-size:13px;margin-top:6px;font-weight:500;text-align:center;background:rgba(74,155,77,.2);padding:10px 16px;border-radius:8px;border-left:3px solid #4A9B4D;animation:slideIn .3s ease}.auth-submit{width:100%;background:linear-gradient(135deg,#ffffff 0%,#f0f9f1 100%);color:#016b22;font-weight:700;font-size:15px;border:none;padding:clamp(14px,3vw,16px) 20px;border-radius:12px;cursor:pointer;font-family:Montserrat,Inter,sans-serif;letter-spacing:.3px;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 24px #0003,0 2px 6px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.auth-submit:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.auth-submit:hover:before{opacity:1}.auth-submit:hover{transform:translateY(-3px);box-shadow:0 12px 32px #00000040,0 4px 12px #00000026}.auth-submit:active{transform:translateY(-1px);box-shadow:0 6px 20px #0003}.auth-submit[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #00000026;background:#e0e0e0}.auth-helper{font-size:12px;opacity:.85;text-align:center;line-height:1.5}.auth-link{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px 16px;color:#ffffffe6;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .25s ease;display:inline-block}.auth-link:hover{color:#fff;background:rgba(255,255,255,.15);border-color:#ffffff4d;transform:translateY(-1px)}.auth-link:active{transform:translateY(0)}.auth-link:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-link:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:2px}@media (min-width: 769px){.auth-content-wrapper{padding:clamp(32px,5vw,64px)}.auth-screen-inner{gap:clamp(24px,4vh,40px);max-height:90vh;overflow:hidden}.auth-brand-wordmark{font-size:clamp(16px,1.8vw,24px)}}@media (min-width: 1200px){.auth-content-wrapper{padding:clamp(48px,6vw,80px)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 769px){.auth-screen-root{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"content image"}.auth-content-wrapper{grid-area:content;padding:clamp(24px,4vw,48px);height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.auth-image-column{grid-area:image;background-image:url(/assets/landingpage_img-dfb6926b.png);background-size:cover;background-position:bottom center;background-repeat:no-repeat;height:100vh}}.auth-screen-root{height:100vh;width:100vw;position:fixed;top:0;left:0;overflow:hidden}.auth-content-wrapper{height:100vh;background:rgba(51,148,50,.9);color:#fff;display:flex;flex-direction:column;padding:clamp(16px,3vw,24px) clamp(16px,4vw,32px);box-sizing:border-box;font-family:Montserrat,Inter,sans-serif;align-items:center;justify-content:center;overflow:hidden}@media (min-width: 769px){.auth-screen-root{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"content image"}.auth-content-wrapper{grid-area:content;padding:clamp(24px,4vw,48px);height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.auth-image-column{grid-area:image;background-image:url(/assets/landingpage_img-dfb6926b.png);background-size:cover;background-position:bottom center;background-repeat:no-repeat;height:100vh}}.auth-screen-inner{max-width:520px;width:100%;display:flex;flex-direction:column;gap:clamp(16px,2.5vh,24px);max-height:100%;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.auth-screen-inner::-webkit-scrollbar{display:none}.auth-top-bar{display:flex;align-items:center;justify-content:space-between;min-height:56px}.auth-back-btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.8px;color:#fff;background:rgba(255,255,255,.1);padding:12px 18px;border-radius:100px;cursor:pointer;border:1px solid rgba(255,255,255,.25);transition:background .25s ease,transform .25s ease,box-shadow .25s ease,opacity .25s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:44px}.auth-back-btn:hover{background:rgba(255,255,255,.18)}.auth-back-btn:active{transform:translateY(1px);opacity:.85}.auth-back-btn:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:3px}.auth-back-icon{width:22px;height:22px;display:inline-block;line-height:1}.auth-back-text{font-size:13px;font-weight:700}@media (max-width: 767.98px){.auth-back-text{display:none}.auth-back-btn{padding:12px 16px}}@media (min-width: 768px){.auth-back-btn{padding:12px 20px}}.auth-brand{display:flex;align-items:center;gap:clamp(.75rem,1.2vw,1.2rem)}.auth-brand-wordmark{font-family:Alexandria,Montserrat,sans-serif;font-weight:600;letter-spacing:.07em;font-size:clamp(14px,1.5vw,22px)}.brand-logo-img{width:clamp(30px,3vw,48px);height:auto}.auth-content{display:flex;flex-direction:column;gap:clamp(16px,3vh,22px);flex:1;min-height:0}.auth-header{display:flex;flex-direction:column;align-items:flex-start!important;width:100%;text-align:left!important}.auth-title{font-family:Abril Fatface,serif;font-weight:400;margin:0;font-size:clamp(28px,8vw,72px);line-height:1.1;letter-spacing:-.5px;text-align:left!important}.auth-subtext{margin:0;font-size:clamp(14px,3.5vw,20px);line-height:1.4;max-width:520px;color:#ffffffeb;text-align:left!important}@media (min-width: 769px){.auth-title{font-size:clamp(42px,6vw,72px)}.auth-subtext{font-size:clamp(16px,2vw,20px);line-height:1.55}}@media (min-width: 1200px){.auth-title{font-size:clamp(52px,6.5vw,72px)}.auth-subtext{font-size:clamp(18px,2.2vw,22px)}}@media (min-width: 1600px){.auth-title{font-size:clamp(60px,5.5vw,80px)}.auth-subtext{font-size:clamp(20px,2.4vw,24px)}}.auth-form{display:flex;flex-direction:column;gap:clamp(14px,2.5vw,18px);width:100%;flex-shrink:1}.auth-field{display:flex;flex-direction:column;gap:6px;position:relative}.auth-field-label{font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.95}.auth-hint{color:#ffffffd9;font-size:clamp(11px,2.2vw,13px);margin-top:4px}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-wrapper i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;color:#fff;opacity:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.auth-username-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);stroke:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.auth-input{width:100%;padding:10px clamp(48px,6vw,96px) 10px 44px;border-radius:6px;border:1px solid rgba(255,255,255,.5);background:#ffffff;color:#222;font-size:14px;font-weight:500;font-family:Montserrat,Inter,sans-serif;letter-spacing:.25px;outline:none;transition:border-color .18s ease;box-shadow:none;min-height:38px}.auth-input::placeholder{color:gray;font-weight:500}.auth-input:focus{border-color:#1a1a1a;background:#ffffff;box-shadow:none}.auth-input:hover,.auth-input:active{background:#ffffff;border-color:#1a1a1a}.auth-input[aria-invalid=true]{border-color:#ffb3b3;background:rgba(255,0,0,.1)}.auth-check-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#ffffff;color:#016b22;font-weight:700;font-size:14px;border:none;padding:10px 14px;border-radius:8px;cursor:pointer;font-family:Montserrat,Inter,sans-serif;letter-spacing:.3px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.auth-check-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000047}.auth-check-btn:active{transform:translateY(0);box-shadow:0 3px 9px #0000002e}.auth-check-btn:disabled{opacity:.7;cursor:not-allowed}.auth-input.available{border-color:#90ee90;background:rgba(144,238,144,.1)}.auth-input.taken{border-color:#ffb3b3;background:rgba(255,0,0,.1)}.auth-error{color:#ffe2e2;font-size:clamp(12px,2.5vw,14px);margin-top:6px;font-weight:500;line-height:1.3}.auth-success{color:#90ee90;font-size:clamp(12px,2.5vw,14px);margin-top:6px;font-weight:500;line-height:1.3}.auth-suggestions-section{margin-top:8px;display:flex;flex-direction:column;gap:8px}.auth-suggestions-title{font-size:13px;font-weight:600;opacity:.95}.auth-suggestions-container{display:flex;flex-wrap:wrap;gap:8px;max-height:clamp(56px,10vh,96px);overflow:hidden}.auth-suggestion-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fffffff2;border-radius:9999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease;display:inline-flex;align-items:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-suggestion-chip:hover{background:rgba(255,255,255,.16)}.auth-suggestion-chip:active{transform:translateY(1px)}.auth-submit{width:100%;background:#ffffff;color:#016b22;font-weight:700;font-size:15px;border:none;padding:clamp(14px,3vw,16px) 20px;border-radius:8px;cursor:pointer;font-family:Montserrat,Inter,sans-serif;letter-spacing:.3px;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 18px #0000002e;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px -4px #00000052}.auth-submit:active{transform:translateY(0);box-shadow:0 5px 16px #00000038}.auth-submit:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:3px}.auth-submit[disabled]{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #00000026}.auth-helper{font-size:clamp(11px,2.2vw,13px);opacity:.85;text-align:center;line-height:1.4;margin-top:4px}@media (min-width: 769px){.auth-content-wrapper{padding:clamp(24px,4vw,48px)}.auth-screen-inner{gap:clamp(18px,3vh,28px);max-height:100%;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}.auth-screen-inner::-webkit-scrollbar{display:none}.auth-content{gap:clamp(18px,3.5vh,24px)}.auth-brand-wordmark{font-size:clamp(16px,1.8vw,24px)}}@media (min-width: 1024px){.auth-content-wrapper{padding:clamp(32px,4.5vw,56px)}.auth-screen-inner{gap:clamp(20px,3.5vh,32px)}.auth-content{gap:clamp(20px,4vh,28px)}}@media (min-width: 1200px){.auth-content-wrapper{padding:clamp(40px,5vw,64px)}}@media (min-width: 769px) and (max-height: 900px){.auth-screen-inner{max-height:100%;gap:clamp(14px,2.5vh,20px)}.auth-content{gap:clamp(14px,2.8vh,18px)}.auth-form{gap:clamp(12px,2vh,16px)}.auth-content-wrapper{padding:clamp(20px,3vw,36px)}}@media (min-width: 1600px){.auth-content-wrapper{padding:clamp(48px,5.5vw,72px)}}.auth-fade-item{opacity:1;transform:translateY(0)}[role=status][aria-live]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.inline-otp-group{display:flex;gap:clamp(8px,1.2vw,14px);justify-content:center;margin:22px 0 14px}.inline-otp-cell{--otp-size:60px;--otp-font:30px;width:var(--otp-size);height:var(--otp-size);background:#fff;border:2px solid rgba(0,0,0,.18);border-radius:18px;font-size:var(--otp-font);font-weight:700;text-align:center;color:#015d1d;letter-spacing:1px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;box-shadow:0 4px 12px #00000024,inset 0 1px 2px #fff9;caret-color:#4a9b4d;font-family:Montserrat,Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}.inline-otp-cell:hover:not(:disabled){border-color:#3e9b45}.inline-otp-cell:focus{outline:none;border-color:#4a9b4d;background:#fff;box-shadow:0 0 0 4px #4a9b4d47,0 6px 18px #00000040;transform:translateY(-2px)}.inline-otp-cell[data-filled=true]{border-color:#4a9b4d;background:#ffffff;box-shadow:0 0 0 3px #4a9b4d40,0 6px 20px #4a9b4d59;animation:otp-pop .28s cubic-bezier(.68,-.55,.265,1.55)}.inline-otp-group.error .inline-otp-cell{border-color:#d9534f;background:#ffe6e6;color:#c62828;animation:otp-shake .45s cubic-bezier(.36,.07,.19,.97)}.inline-otp-cell:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.6)}@media (max-width:620px){.inline-otp-cell{--otp-size:54px;--otp-font:28px;border-radius:16px}}@media (max-width:560px){.inline-otp-cell{--otp-size:50px;--otp-font:26px;border-radius:14px}}@media (max-width:420px){.inline-otp-cell{--otp-size:46px;--otp-font:24px}}@media (max-width:370px){.inline-otp-cell{--otp-size:42px;--otp-font:22px}}@keyframes otp-pop{0%{transform:scale(.92)}55%{transform:scale(1.07)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.inline-otp-cell,.inline-otp-cell[data-filled=true],.inline-otp-group.error .inline-otp-cell{animation:none!important;transition:none!important}.inline-otp-cell:focus{transform:none}}:root{--vvh: 0px;--kb-offset: 0px}.auth-screen-inner{overflow:visible}.setup-shell{max-width:100%;width:100%;padding:0}.auth-content-wrapper{justify-content:flex-start;padding:clamp(4px,1.2vh,10px) clamp(8px,2.5vw,14px);height:100vh;height:var(--vvh, 100vh);overflow:hidden;min-height:0;box-sizing:border-box;padding-top:calc(env(safe-area-inset-top,0px) + 0px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 0px)}.setup-shell{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;min-height:0}@supports (height: 100dvh){.auth-content-wrapper{height:100dvh;height:var(--vvh, 100dvh)}}.kb-open .auth-content-wrapper{overflow:auto;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--kb-offset, 0px))}.kb-open .setup-middle{overflow-y:auto}.kb-open .setup-flow{overflow:auto}.kb-open .setup-actions{position:sticky;bottom:calc(var(--kb-offset, 0px) + 8px);z-index:10}@media (max-height: 480px){.auth-content-wrapper{padding:clamp(2px,.8vh,6px) clamp(6px,2vw,12px)}.setup-flow{gap:clamp(2px,.6vh,4px)}.setup-top,.setup-bottom{gap:clamp(1px,.4vh,3px)}.setup-progress-pill{padding:clamp(1px,.3vh,2px) clamp(3px,1vw,6px);font-size:clamp(.4375rem,1.1vw,.625rem)}.setup-step .setup-step-icon{width:clamp(14px,2vw,16px);height:clamp(14px,2vw,16px);font-size:clamp(.375rem,1vw,.5rem)}}@media (max-height: 500px){.auth-content-wrapper{padding:clamp(4px,1vh,8px) clamp(12px,3vw,20px)}.setup-flow{gap:clamp(3px,.8vh,6px)}.setup-top,.setup-bottom{gap:clamp(3px,.6vh,6px)}}@media (min-height: 600px) and (max-height: 800px){.auth-content-wrapper{padding:clamp(10px,1.5vh,16px) clamp(20px,3.5vw,28px)}}@media (min-height: 920px){.auth-content-wrapper{justify-content:center}}@media (min-width: 1920px){.setup-shell{max-width:1200px;margin:0 auto}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.setup-method-card{border-width:.5px}.setup-field input[type=text]{border-width:1px}}.setup-flow{display:flex;flex-direction:column;gap:clamp(2px,.8vh,6px);flex:1 1 auto;min-height:0;height:100%;overflow:hidden;box-sizing:border-box;justify-content:space-between}.setup-top{flex:0 0 auto;display:flex;flex-direction:column;gap:clamp(1px,.6vh,4px);min-height:0}.setup-middle{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box}.setup-middle::-webkit-scrollbar{display:none}.setup-bottom{flex:0 0 auto;display:flex;flex-direction:column;gap:clamp(1px,.4vh,4px);min-height:0}.setup-progress{font-family:Montserrat,Inter,sans-serif;font-weight:600;font-size:clamp(.75rem,2vw,.875rem);color:#ffffffe6}.setup-body{display:flex;flex-direction:column;gap:clamp(4px,.8vh,8px);width:100%;min-width:0}.setup-header{display:flex;flex-direction:column;gap:clamp(2px,.5vh,5px);text-align:left;width:100%;min-width:0}.setup-header .auth-title{font-size:clamp(1rem,3.5vw,2rem);letter-spacing:-.01em;line-height:1.1;margin:0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.setup-header .auth-subtext{font-size:clamp(.625rem,2vw,.875rem);line-height:1.3;margin:0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.setup-heading{display:flex;flex-direction:column;gap:clamp(1px,.3vh,3px);text-align:left;width:100%;min-width:0;margin-bottom:clamp(3px,.8vh,8px)}.setup-heading .auth-subtext{font-size:clamp(.5625rem,1.8vw,.8125rem);line-height:1.3;margin:0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.setup-body::-webkit-scrollbar{width:6px}.setup-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:999px}.setup-placeholder{color:#ffffffe6;font-family:Montserrat,Inter,sans-serif;font-size:14px}.setup-actions{margin-top:clamp(6px,1.2vh,14px);display:flex;gap:clamp(10px,2vw,16px);justify-content:flex-end;flex-wrap:wrap;padding-top:clamp(6px,1vh,10px);border-top:1px solid rgba(255,255,255,.25)}.setup-actions .setup-btn{flex:0 1 auto;min-width:clamp(100px,26vw,150px);padding:clamp(8px,2.2vw,12px) clamp(12px,3.2vw,18px);font-size:clamp(11.5px,2.6vw,13.5px);min-height:clamp(44px,5.6vh,52px);border-radius:7px;box-shadow:0 5px 14px -12px #00000047}.setup-actions .setup-btn.outline{padding:clamp(8px,2.2vw,12px) clamp(12px,3vw,16px);border-radius:7px}@media (max-width: 560px){.setup-actions{flex-direction:column;align-items:stretch}.setup-actions .setup-btn{width:100%}}.setup-btn{background:#ffffff;color:#016b22;font-weight:700;font-size:clamp(.625rem,2vw,.8125rem);border:none;padding:clamp(6px,2vw,10px) clamp(8px,3vw,14px);border-radius:clamp(4px,1vw,6px);cursor:pointer;font-family:Montserrat,Inter,sans-serif;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:clamp(4px,1.2vw,6px);min-height:44px;min-width:44px;box-shadow:0 2px 8px #0000001f;transition:background .15s ease,transform .15s ease,box-shadow .15s ease,opacity .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.setup-btn:hover{transform:translateY(-.5px);box-shadow:0 3px 12px -1px #0003}.setup-btn:active{transform:translateY(0);box-shadow:0 1px 4px #00000026}.setup-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 4px #0000001a}.setup-btn.outline{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:none}.setup-btn.sm{font-size:clamp(.5625rem,1.8vw,.75rem);padding:clamp(4px,1.6vw,8px) clamp(6px,2.5vw,12px);min-height:36px;min-width:36px}.setup-btn.outline:hover{background:rgba(255,255,255,.18)}.setup-progress-header{display:flex;flex-direction:column;align-items:stretch;gap:clamp(6px,1.2vh,14px)}.setup-step-meta{display:inline-flex;align-items:center;gap:clamp(8px,1.5vw,12px);font-family:Montserrat,Inter,sans-serif;margin-top:clamp(2px,.5vh,6px)}.setup-step-count{font-weight:700;font-size:clamp(10px,1.6vw,12px);padding:clamp(3px,.8vh,5px) clamp(8px,2vw,10px);border-radius:999px;background:rgba(255,255,255,.14);color:#ffffffeb;letter-spacing:.4px}.setup-step-tag{text-transform:uppercase;font-size:clamp(9px,1.7vw,11px);letter-spacing:1.2px;color:#ffffffc7}.setup-step-combined{display:inline-flex;align-items:center;gap:clamp(10px,2vw,14px);font-family:Montserrat,Inter,sans-serif}.setup-step-combined .step-number{font-weight:700;font-size:clamp(10px,1.6vw,12px);padding:clamp(4px,.9vh,6px) clamp(10px,2.2vw,14px);border-radius:999px;background:rgba(255,255,255,.2);color:#fff;letter-spacing:.3px;white-space:nowrap}.setup-step-combined .step-title{text-transform:uppercase;font-weight:300;font-size:clamp(9px,1.6vw,12px);letter-spacing:1px;color:#fffffff2;font-family:Montserrat,Inter,sans-serif}.setup-progress-pill{display:inline-flex;align-items:center;justify-content:center;padding:clamp(4px,1vh,7px) clamp(10px,2.5vw,14px);border-radius:999px;background:rgba(255,255,255,.14);color:#fffffff0;font-size:clamp(9px,1.4vw,11px);font-weight:600;letter-spacing:.5px;box-shadow:inset 0 1px #ffffff38;align-self:flex-start}@media (max-width: 640px){.setup-progress-header .setup-progress-pill{width:100%;justify-content:center}.setup-progress-header .setup-step-meta{flex-direction:column;align-items:flex-start;gap:clamp(6px,1.6vw,10px)}}.setup-header .auth-title{font-size:clamp(24px,4.8vw,46px);letter-spacing:-.2px}.setup-header .auth-subtext{font-size:clamp(13px,2.8vw,17px);max-width:640px}.setup-heading .auth-title{font-size:clamp(18px,3.5vw,32px);letter-spacing:-.18px;line-height:1.2;margin:0 0 clamp(4px,.8vh,8px) 0}.setup-heading .auth-subtext{font-size:clamp(11px,2.2vw,14px);line-height:1.3;margin:0}@media (min-width: 1280px){.setup-header .auth-title{font-size:clamp(36px,4vw,54px)}.setup-header .auth-subtext{font-size:clamp(16px,2.3vw,20px)}.setup-heading .auth-title{font-size:clamp(28px,3.4vw,46px)}.setup-heading .auth-subtext{font-size:clamp(14px,2vw,18px)}}.setup-section{display:flex;flex-direction:column;gap:clamp(2px,.6vh,5px);width:100%;min-height:0}.setup-step-2{gap:clamp(6px,1vh,10px)}.setup-step-2 .setup-card,.setup-step-2 .setup-card:first-child{margin-bottom:0}.setup-step-2 .setup-card+.setup-card{position:relative}.setup-step-2 .setup-card+.setup-card:before{content:"";position:absolute;top:clamp(-5px,-.7vh,-8px);left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 50%,transparent)}.setup-step-5{flex:1 1 auto;min-height:0}.setup-step-5 .wifi-card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.setup-step-5 .wifi-card{padding:10px 12px;gap:8px}.wifi-networks-wrapper{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;margin-top:10px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.04);padding:6px}.setup-step-5 .wifi-card .wifi-networks-wrapper{flex:0 0 auto;max-height:clamp(140px,32vh,220px);overflow:auto}.wifi-card.has-selection .wifi-networks-wrapper{max-height:clamp(110px,26vh,180px)}.wifi-networks-wrapper::-webkit-scrollbar{width:6px}.wifi-networks-wrapper::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:999px}.wifi-network-list{flex:1 1 auto;overflow:auto;padding-bottom:4px}.wifi-instructions{margin-top:8px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.04)}.wifi-instructions-toggle{width:100%;background:none;border:none;color:#fff;font-weight:700;font-size:clamp(11px,1.8vw,13px);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;line-height:1.2}.wifi-instructions-toggle:focus-visible{outline:2px solid #4cd472;outline-offset:2px}.wifi-instructions-list{margin:0;padding:0 14px 12px 20px;display:flex;flex-direction:column;gap:4px;font-size:clamp(10px,1.6vw,12.5px);line-height:1.35;list-style:none;counter-reset:wifistep;max-height:120px;overflow:auto}.wifi-instructions-list li{position:relative;padding-left:0}.wifi-instructions-chevron{font-size:16px;line-height:1}@media (min-width: 1280px) and (min-height: 860px){.setup-step-5 .wifi-card{max-height:620px;align-self:center;width:100%}.setup-step-5{align-items:stretch}}@media (min-width:1024px) and (max-height: 840px){.step-5-active .setup-progress-header,.step-5-active .setup-heading{margin-bottom:10px}.step-5-active .setup-heading .auth-title{font-size:clamp(24px,3.5vw,32px);margin-bottom:4px}.step-5-active .setup-heading .auth-subtext{font-size:clamp(12px,1.8vw,14px)}.step-5-active .wifi-card{padding:8px 12px;gap:6px}.step-5-active .wifi-head-row{margin-bottom:4px}.step-5-active .wifi-instructions{margin-top:2px}.step-5-active .wifi-networks-wrapper{max-height:clamp(100px,24vh,160px);margin-top:6px}.step-5-active .wifi-card.has-selection .wifi-networks-wrapper{max-height:clamp(80px,20vh,140px)}.step-5-active .wifi-network-row{padding:5px 7px}.step-5-active .wifi-actions-row{margin-top:10px!important;gap:8px!important}.step-5-active .setup-field{margin-top:8px!important}.step-5-active .hidden-ssid-toggle-row{margin-top:10px!important}}@media (max-height: 640px){.wifi-status-banner{padding:6px 8px;font-size:clamp(10px,1.4vw,12px)}.wifi-actions-row{margin-top:12px!important}.wifi-row-btn{padding:8px 10px}.wifi-instructions-list{max-height:90px}.wifi-instructions-toggle{padding:8px 10px}.wifi-network-row{padding:6px 8px}}@media (max-height: 560px){.wifi-status-banner.note{display:none}.wifi-head-row{margin-bottom:2px}.wifi-actions-row{gap:8px!important}.wifi-network-list{gap:2px}.wifi-instructions{margin-top:4px}.wifi-instructions-toggle{font-size:clamp(10px,1.6vw,12px)}.wifi-instructions-list{max-height:70px}.wifi-network-row{padding:5px 7px}}@media (max-height: 520px){.wifi-network-row{padding:4px 6px}.wifi-row-btn{padding:7px 9px;font-size:clamp(10px,1.5vw,11.5px)}.wifi-instructions-toggle{padding:6px 8px}}@media (max-height: 480px){.wifi-status-banner.error,.wifi-status-banner.success{padding:5px 7px}.wifi-row-btn{padding:6px 8px}.wifi-instructions-list{max-height:60px}.wifi-instructions{margin-top:2px}}@media (max-height: 430px){.wifi-network-row{padding:3px 6px;font-size:clamp(10px,2vw,11px)}.wifi-row-btn,.wifi-instructions-toggle{padding:5px 7px;font-size:clamp(9.5px,2vw,11px)}.wifi-instructions-list{max-height:52px}.wifi-status-banner{padding:5px 6px;font-size:clamp(9.5px,2vw,11px)}.setup-step-5 .wifi-card{padding:8px 9px;gap:6px}}@media (max-height: 380px){.wifi-network-row{padding:2px 5px}.wifi-row-btn,.wifi-instructions-toggle{padding:4px 6px}.wifi-instructions-list{max-height:44px}.wifi-status-banner{padding:4px 5px}.wifi-actions-row{margin-top:6px!important}.wifi-head-row{margin-bottom:0}}@media (min-width:1280px) and (min-height:1000px){.setup-step-5 .wifi-card{max-height:600px;padding:14px 16px}.wifi-network-row{padding:7px 10px}.wifi-instructions-list{max-height:140px}}.wifi-compact-bar{display:flex;align-items:center;gap:8px;width:100%}.wifi-compact-bar .wifi-status-banner.note{flex:1 1 auto;margin:0}.wifi-compact-bar .wifi-instructions-toggle{flex:0 0 auto;width:auto}.wifi-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s cubic-bezier(.4,0,.2,1);font-family:Montserrat,sans-serif}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.wifi-modal-content{background:linear-gradient(145deg,#ffffff 0%,#f0f9f0 100%);border:3px solid #4A9B4D;border-radius:24px;max-width:540px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 28px 80px #4a9b4d59,0 12px 32px #0003;animation:slideUp .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.wifi-modal-header{display:flex;align-items:center;justify-content:space-between;padding:32px 32px 24px;border-bottom:2px solid rgba(74,155,77,.15);background:linear-gradient(135deg,rgba(74,155,77,.08) 0%,rgba(74,155,77,.02) 100%);border-radius:24px 24px 0 0;flex-shrink:0}.wifi-modal-title{margin:0;font-family:Abril Fatface,cursive;font-size:clamp(26px,3vw,34px);font-weight:400;color:#4a9b4d;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(74,155,77,.15)}.modal-close-btn{background:rgba(74,155,77,.12);border:2px solid rgba(74,155,77,.25);color:#4a9b4d;font-size:28px;line-height:1;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;font-weight:600}.modal-close-btn:hover{background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);border-color:#4a9b4d;color:#fff;transform:scale(1.05);box-shadow:0 6px 16px #4a9b4d66}.modal-close-btn:active{transform:scale(.95);box-shadow:0 2px 8px #4a9b4d4d}.wifi-modal-body{padding:32px;overflow-y:auto;flex:1 1 auto;min-height:0}.wifi-setup-description{margin:0 0 28px;font-size:15px;line-height:1.6;color:#555;font-weight:400}.wifi-input-field{margin-bottom:24px}.wifi-input-label{display:block;margin-bottom:10px;font-size:15px;font-weight:600;color:#333;font-family:Montserrat,sans-serif}.wifi-input{width:100%;padding:16px 18px;background:white;border:2px solid rgba(74,155,77,.25);border-radius:12px;color:#333;font-size:15px;font-family:Montserrat,sans-serif;transition:all .3s ease;box-sizing:border-box}.wifi-input::placeholder{color:#0006}.wifi-input:focus{outline:none;border-color:#4a9b4d;background:rgba(74,155,77,.02);box-shadow:0 0 0 4px #4a9b4d26,0 4px 12px #4a9b4d1a}.wifi-input:disabled{opacity:.5;cursor:not-allowed}.wifi-password-wrapper{position:relative;display:flex;align-items:center}.wifi-password-wrapper .wifi-input{padding-right:55px}.wifi-password-toggle{position:absolute;right:12px;background:none;border:none;color:#666;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .25s ease}.wifi-password-toggle:hover{color:#4a9b4d;background:rgba(74,155,77,.12)}.wifi-modal-footer{display:flex;gap:12px;padding:20px 32px 28px;border-top:2px solid rgba(74,155,77,.12)}.wifi-user-guide-btn{flex:1;padding:16px 20px;background:white;border:2px solid #4A9B4D;border-radius:14px;color:#4a9b4d;font-size:15px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.wifi-user-guide-btn:hover{background:rgba(74,155,77,.08);border-color:#3d8240;transform:translateY(-2px);box-shadow:0 6px 20px #4a9b4d40}.wifi-connect-btn{flex:2;padding:16px 20px;background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);border:none;border-radius:14px;color:#fff;font-size:16px;font-weight:700;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #4a9b4d66}.wifi-connect-btn:hover:not(:disabled){background:linear-gradient(135deg,#3d8240 0%,#2f6930 100%);transform:translateY(-3px);box-shadow:0 12px 30px #4a9b4d80}.wifi-connect-btn:active:not(:disabled){transform:translateY(0)}.wifi-connect-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.success-modal-content{background:linear-gradient(145deg,#ffffff 0%,#f0f9f0 100%);border:3px solid #4A9B4D;border-radius:24px;max-width:450px;width:100%;padding:48px 40px;text-align:center;animation:slideUp .3s ease-out;position:relative;box-shadow:0 25px 70px #4a9b4d59,0 10px 30px #00000026}.success-modal-content .modal-close-btn{position:absolute;top:16px;right:16px}.success-icon{width:80px;height:80px;margin:0 auto 24px;color:#4a9b4d;animation:scaleIn .5s ease-out .2s both;filter:drop-shadow(0 4px 12px rgba(74,155,77,.25))}.success-title{margin:0 0 16px;font-family:Abril Fatface,cursive;font-size:clamp(22px,3vw,28px);font-weight:400;color:#4a9b4d;line-height:1.3;text-shadow:0 1px 2px rgba(74,155,77,.15)}.success-message{margin:0 0 32px;font-size:15px;line-height:1.6;color:#555;font-family:Montserrat,sans-serif}.success-continue-btn{width:100%;padding:18px 24px;background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);border:none;border-radius:14px;color:#fff;font-size:17px;font-weight:700;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #4a9b4d66}.success-continue-btn:hover{background:linear-gradient(135deg,#3d8240 0%,#2f6930 100%);transform:translateY(-3px);box-shadow:0 12px 30px #4a9b4d80}.success-continue-btn:active{transform:translateY(0)}.guide-modal-content{background:linear-gradient(145deg,#ffffff 0%,#f0f9f0 100%);border:3px solid #4A9B4D;border-radius:20px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 70px #4a9b4d4d,0 10px 30px #00000026;animation:slideUp .3s ease-out;position:relative}.guide-modal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 20px;border-bottom:2px solid rgba(74,155,77,.15);background:linear-gradient(135deg,rgba(74,155,77,.05) 0%,transparent 100%)}.guide-modal-title{margin:0;font-family:Abril Fatface,cursive;font-size:clamp(24px,3vw,32px);font-weight:400;color:#4a9b4d;text-shadow:0 1px 2px rgba(74,155,77,.15)}.guide-modal-body{padding:32px;overflow-y:auto;flex:1 1 auto}.guide-steps{margin:0;padding:0;list-style:none}.guide-steps li{display:flex;gap:20px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.08)}.guide-steps li:last-child{margin-bottom:24px;border-bottom:none;padding-bottom:0}.guide-step-number{flex-shrink:0;width:44px;height:44px;background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;font-family:Montserrat,sans-serif;box-shadow:0 6px 16px #4a9b4d66}.guide-step-content h3{margin:0 0 8px;font-size:17px;font-weight:700;color:#333;font-family:Montserrat,sans-serif}.guide-step-content p{margin:0;font-size:14px;line-height:1.6;color:#555;font-family:Montserrat,sans-serif}.guide-tip{display:flex;gap:12px;padding:16px 18px;background:rgba(74,155,77,.08);border:1px solid rgba(74,155,77,.2);border-left:4px solid #4A9B4D;border-radius:10px;align-items:flex-start;box-shadow:0 2px 8px #4a9b4d1a}.guide-tip svg{flex-shrink:0;color:#4a9b4d;margin-top:2px}.guide-tip p{margin:0;font-size:13px;line-height:1.6;color:#555;font-family:Montserrat,sans-serif}.guide-tip strong{color:#4a9b4d;font-weight:700}.guide-modal-footer{padding:20px 32px 28px;border-top:2px solid rgba(74,155,77,.12);display:flex;justify-content:center}.guide-close-btn{padding:16px 48px;background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);border:none;border-radius:14px;color:#fff;font-size:16px;font-weight:700;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #4a9b4d66}.guide-close-btn:hover{background:linear-gradient(135deg,#3d8240 0%,#2f6930 100%);transform:translateY(-3px);box-shadow:0 12px 30px #4a9b4d80}.guide-close-btn:active{transform:translateY(0)}.wifi-modal-instructions{margin-bottom:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden}.wifi-modal-instructions-toggle{width:100%;background:none;border:none;color:#fff;font-size:14px;font-weight:600;padding:14px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .2s}.wifi-modal-instructions-toggle:hover{background:rgba(255,255,255,.04)}.instructions-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--brand-green, #4ade80)}.instructions-label{flex:1;text-align:left}.instructions-chevron{font-size:20px;font-weight:400;opacity:.7;transition:transform .2s}.wifi-modal-instructions-toggle[aria-expanded='"true"'] .instructions-chevron{transform:rotate(0)}.wifi-modal-instructions-content{padding:0 16px 16px;animation:expandDown .3s ease-out}.instructions-steps{margin:0 0 12px;padding-left:20px;font-size:13px;line-height:1.6;color:#ffffffd9}.instructions-steps li{margin-bottom:8px}.instructions-steps strong{color:#fff;font-weight:600}.instructions-tip{margin:0;padding:10px 12px;background:rgba(74,222,128,.12);border-left:3px solid var(--brand-green, #4ade80);border-radius:6px;font-size:12px;line-height:1.5;color:#ffffffe6}.instructions-tip strong{color:var(--brand-green, #4ade80)}.wifi-modal-scan-section{margin-bottom:20px;text-align:center}.wifi-scan-btn{background:linear-gradient(135deg,rgba(74,222,128,.2),rgba(34,197,94,.15));border:1.5px solid rgba(74,222,128,.3);color:#fff;font-size:15px;font-weight:600;padding:14px 24px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #4ade8026}.wifi-scan-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(74,222,128,.25),rgba(34,197,94,.2));border-color:#4ade8066;transform:translateY(-2px);box-shadow:0 6px 16px #4ade8033}.wifi-scan-btn:active:not(:disabled){transform:translateY(0)}.wifi-scan-btn:disabled{opacity:.6;cursor:not-allowed}.wifi-scan-btn .spinning{animation:spin 1s linear infinite}.scan-hint{margin:8px 0 0;font-size:12px;color:#ffffff80}.wifi-modal-networks-section{margin-top:20px}.networks-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px}.networks-section-header h4{margin:0;font-size:14px;font-weight:600;color:#fff;letter-spacing:-.01em}.network-count{font-size:12px;color:#ffffff80;background:rgba(255,255,255,.08);padding:4px 10px;border-radius:20px;font-weight:500}.wifi-modal-body .wifi-network-list{display:flex;flex-direction:column;gap:0;padding:4px}.wifi-modal-body .wifi-network-row{border-radius:10px;overflow:hidden;transition:all .2s}.wifi-modal-body .wifi-network-row:not(:last-child){margin-bottom:4px}.wifi-modal-body .wifi-row-btn{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#fff;padding:14px 16px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit}.wifi-modal-body .wifi-row-btn:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:#ffffff26;transform:translate(2px)}.wifi-modal-body .wifi-network-row.selected .wifi-row-btn{background:linear-gradient(135deg,rgba(74,222,128,.15),rgba(34,197,94,.1));border-color:#4ade804d;box-shadow:0 0 0 2px #4ade801a}.wifi-modal-body .wifi-row-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.wifi-network-info{display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-width:0;flex:1}.wifi-modal-body .wifi-ssid{font-size:15px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wifi-signal-label{font-size:11px;font-weight:500;color:#ffffff80;text-transform:uppercase;letter-spacing:.03em}.wifi-modal-body .wifi-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.wifi-modal-body .wifi-lock{opacity:.6}.wifi-modal-body .wifi-selected-indicator{width:20px;height:20px;color:var(--brand-green, #4ade80);display:flex;align-items:center;justify-content:center}.wifi-card-compact{padding:20px 24px}.wifi-connected-summary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px}.wifi-summary-row{display:flex;align-items:center;gap:12px}.wifi-summary-ssid{font-size:16px;font-weight:600;color:#fff}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 600px){.wifi-modal-content,.guide-modal-content{max-width:100%;margin:0 12px;border-radius:16px}.wifi-modal-header,.guide-modal-header{padding:20px 24px 16px}.wifi-modal-title,.guide-modal-title{font-size:22px}.wifi-modal-body,.guide-modal-body{padding:24px}.wifi-modal-footer,.guide-modal-footer{padding:16px 24px 20px;flex-direction:column}.wifi-user-guide-btn,.wifi-connect-btn{width:100%}.success-modal-content{margin:0 12px;padding:40px 28px}.success-title{font-size:20px}.guide-steps li{gap:16px;margin-bottom:24px;padding-bottom:24px}.guide-step-number{width:40px;height:40px;font-size:18px}}@media (max-height: 700px){.wifi-modal-content,.guide-modal-content{max-height:94vh}.guide-modal-body{padding:24px}}@media (max-height: 600px){.success-icon{width:60px;height:60px;margin-bottom:16px}}.wifi-modal-body .wifi-status-banner{margin-bottom:16px;padding:12px 14px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:10px}.wifi-modal-body .wifi-status-banner.scanning{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.25);color:#fff}.wifi-modal-body .wifi-status-banner.empty,.wifi-modal-body .wifi-status-banner.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);color:#fff;flex-wrap:wrap}.wifi-modal-body .wifi-status-banner .link-btn{margin-left:auto;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.wifi-modal-body .wifi-status-banner .link-btn:hover{background:rgba(255,255,255,.25)}.wifi-modal-body .setup-btn{padding:14px 20px;background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #4a9b4d4d;display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px}.wifi-modal-body .setup-btn:hover{background:linear-gradient(135deg,#3d8240 0%,#2f6930 100%);transform:translateY(-2px);box-shadow:0 6px 16px #4a9b4d66}.wifi-modal-body .setup-btn:active{transform:translateY(0);box-shadow:0 2px 8px #4a9b4d4d}.wifi-modal-body .setup-btn.outline{background:transparent;border:2px solid rgba(255,255,255,.3);box-shadow:none}.wifi-modal-body .setup-btn.outline:hover{background:rgba(255,255,255,.1);border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.wifi-modal-body .setup-helper{color:#ffffffe6;font-size:14px;line-height:1.5}.wifi-modal-body .photo-preview{padding:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:12px;margin-top:8px}.wifi-modal-body .photo-preview img{box-shadow:0 4px 12px #0003}.wifi-modal-body .setup-file-name{color:#fffffff2;font-weight:500}@media (max-width: 600px){.wifi-modal-content{max-width:100%;border-radius:16px;max-height:92vh}.wifi-modal-header{padding:16px 18px 12px}.wifi-modal-header h3{font-size:18px}.modal-close-btn{width:32px;height:32px;font-size:20px}.wifi-modal-body{padding:18px}.wifi-modal-footer{padding:12px 18px 16px;flex-direction:column-reverse}.wifi-modal-footer .setup-btn{width:100%}.wifi-modal-instructions-content{padding:0 12px 12px}.instructions-steps{font-size:12px}.wifi-scan-btn{padding:12px 20px;font-size:14px}.wifi-modal-body .wifi-row-btn{padding:12px 14px}.wifi-modal-body .wifi-ssid{font-size:14px}}@media (max-height: 700px){.wifi-modal-body .wifi-networks-wrapper{max-height:200px}.wifi-modal-instructions-content{max-height:180px;overflow:auto}}@media (max-height: 600px){.wifi-modal-content{max-height:94vh}.wifi-modal-body .wifi-networks-wrapper{max-height:160px}.wifi-modal-instructions-content{max-height:140px}}@media (orientation:landscape) and (max-height:500px){.setup-step-5 .wifi-card{padding:8px!important}.wifi-network-row .wifi-ssid{max-width:110px}}.setup-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1vh,12px);overflow:visible;min-height:0}.setup-methods .setup-method-card:last-child{grid-column:1 / -1}.setup-method-card{display:flex;flex-direction:column;gap:clamp(6px,.8vh,10px);padding:clamp(8px,1.2vh,12px);border-radius:clamp(8px,1.2vw,10px);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);box-shadow:0 2px 8px -14px #00000059,inset 0 1px #ffffff0f;transition:border .15s ease,box-shadow .15s ease,background .15s ease;min-height:0;box-sizing:border-box}.setup-method-card:focus-within{border-color:#ffffff40;box-shadow:0 0 0 1px #ffffff1a,0 4px 16px -14px #0006}.setup-method-card-head{display:flex;gap:clamp(8px,1.2vw,12px);align-items:center;min-height:0}.setup-method-index{width:clamp(18px,2.2vw,22px);height:clamp(18px,2.2vw,22px);border-radius:4px;background:rgba(255,255,255,.14);color:#fff;font-family:Montserrat,Inter,sans-serif;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:clamp(.625rem,1.2vw,.75rem);box-shadow:inset 0 0 0 1px #ffffff24;flex:0 0 auto}.setup-method-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(4px,.8vw,6px);width:100%;min-width:0;flex:1;min-height:0}.setup-method-icon{width:clamp(28px,3vw,34px);height:clamp(28px,3vw,34px);border-radius:4px;background:rgba(1,107,34,.15);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:inset 0 1px #ffffff0f,0 2px 6px -8px #016b2266;flex:0 0 auto;margin-left:clamp(4px,.8vw,6px)}.setup-method-icon svg{width:58%;height:58%}.setup-method-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;min-height:0}.setup-method-text h3{margin:0;font-family:Montserrat,Inter,sans-serif;font-weight:700;color:#fff;font-size:clamp(.75rem,1.4vw,.95rem);letter-spacing:.01em;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.15}.setup-method-text p{margin:0;font-size:clamp(.6875rem,1.2vw,.875rem);line-height:1.35;color:#fffc;max-width:520px;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:3;-webkit-line-clamp:3;overflow:hidden}.setup-method-card-body{display:flex;flex-direction:column;gap:clamp(3px,.7vh,5px)}.setup-input-inline{display:flex;flex-direction:column;gap:6px}.setup-step-2 .setup-input-inline{gap:clamp(3px,.6vh,5px)}.setup-step-2 .setup-field input[type=text]:hover,.setup-step-2 .setup-field input[type=number]:hover{border-color:#4a9b4d8c;background:#ffffff}.setup-step-2 .setup-field input::placeholder{color:#6b7280bf;font-weight:400}.setup-step-2 .photo-choice-row{gap:clamp(4px,1vw,7px);display:flex;flex-wrap:wrap;align-items:center}.setup-step-2 .photo-choice-row label,.setup-step-2 .photo-choice-row button{flex:1 1 auto;min-width:min-content}@media (max-width: 600px){.setup-step-2 .photo-choice-row{flex-direction:column;align-items:stretch;gap:clamp(3px,.8vw,5px)}.setup-step-2 .photo-choice-row label,.setup-step-2 .photo-choice-row button{width:100%}}.setup-step-2 .input-with-suffix{gap:clamp(3px,.7vw,5px)}.setup-step-2 .photo-preview{margin-top:clamp(6px,1vh,10px);padding:clamp(6px,1vh,10px);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:8px}.setup-field{display:flex;flex-direction:column;gap:3px}.setup-step-2 .setup-card{padding:clamp(8px,1vh,12px);gap:clamp(5px,.8vh,8px);background:linear-gradient(145deg,rgba(1,107,34,.1),rgba(1,107,34,.06));border:1px solid rgba(74,155,77,.3);position:relative;z-index:1}.setup-step-2 .setup-section-title{margin-bottom:clamp(4px,.5vh,6px);font-size:clamp(.8125rem,1.7vw,.95rem);color:#fffffff2;font-weight:800;letter-spacing:.01em;text-transform:none;padding-bottom:clamp(3px,.4vh,4px);border-bottom:1px solid rgba(255,255,255,.12)}.setup-step-2 .setup-field{gap:1px}.setup-step-2 .setup-field input[type=text],.setup-step-2 .setup-field input[type=number]{padding:clamp(4px,.8vh,6px) clamp(7px,1.2vw,9px);min-height:32px;font-size:clamp(.75rem,1.7vw,.875rem);border:1px solid rgba(74,155,77,.35);background:rgba(255,255,255,.98);border-radius:6px;transition:all .15s ease}.setup-step-2 .setup-field input[type=text]:focus,.setup-step-2 .setup-field input[type=number]:focus{border-color:#4a9b4d;box-shadow:0 0 0 2px #4a9b4d1f;background:#ffffff;outline:none}.setup-step-2 .setup-helper{display:none}.setup-step-2 .duration-inline-row{display:flex;align-items:center;gap:clamp(6px,1.2vw,10px)}.setup-step-2 .input-with-suffix.natural-unit{display:flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:0 clamp(6px,1.2vw,10px);flex:0 0 auto}.setup-step-2 .duration-days-input{background:transparent!important;border:none!important;box-shadow:none!important;padding:clamp(4px,.8vh,6px) 0!important;min-height:32px!important;color:#fffffff2!important;font-weight:600;text-align:center;width:50px;font-size:clamp(.75rem,1.7vw,.875rem)!important}.setup-step-2 .setup-unit{color:#fffc;font-size:clamp(.7rem,1.5vw,.8125rem);font-weight:600;padding-left:3px}.setup-step-2 .photo-preview img{width:clamp(50px,10vw,70px);height:clamp(50px,10vw,70px);border-radius:6px;border:1.5px solid rgba(74,155,77,.4)}.setup-step-2 .photo-actions{gap:clamp(6px,1.2vw,10px)}.setup-step-2 .setup-file-name{font-size:clamp(.7rem,1.5vw,.8rem);color:#ffffffd9}.setup-step-2 .default-image-inline-status{margin-top:clamp(3px,.5vh,5px);padding:clamp(3px,.6vh,5px) clamp(6px,1.2vw,8px);background:rgba(74,155,77,.12);border:1px solid rgba(74,155,77,.25);border-radius:5px}.setup-step-2 .default-image-inline-status strong{color:#ffffffeb;font-weight:700}.setup-step-2 .default-image-inline-status .setup-helper{display:block!important;font-size:clamp(.65rem,1.4vw,.75rem);color:#ffffffd1;margin:0}.setup-step-2 .setup-form-grid{gap:clamp(4px,.8vh,7px);display:grid;grid-template-columns:1fr 1fr}.setup-step-2 .setup-field.span-2{grid-column:1 / -1}@media (max-width: 640px){.setup-step-2 .setup-form-grid{grid-template-columns:1fr}.setup-step-2 .setup-card{padding:clamp(7px,1vh,10px)}.setup-step-2 .setup-section-title{font-size:clamp(.8rem,1.7vw,.9rem)}.setup-step-2{gap:clamp(5px,1vh,8px)}}.setup-step-2 .setup-field-label-row{gap:4px;margin-bottom:1px}.setup-step-2 .setup-field-label{font-size:clamp(8.5px,1.3vw,10px);letter-spacing:.4px;font-weight:700;color:#ffffffe0}.setup-field-label{font-size:clamp(13px,1.8vw,16px);font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#ffffffd9}.setup-field-label.setup-field-label--sm{font-size:clamp(10px,1.5vw,12px);font-weight:700}.setup-field-label.setup-field-label--xs{font-size:clamp(9px,1.3vw,11px);font-weight:600;letter-spacing:.5px}.setup-field input[type=text],.setup-field input[type=number],.setup-field input[type=email]{width:100%;padding:6px 10px;border-radius:6px;border:1px solid #016b22;background:#ffffff;color:#0b2d16;font-size:clamp(.8125rem,2vw,.95rem);font-weight:500;letter-spacing:.01em;outline:none;transition:border-color .15s ease;min-height:36px;box-sizing:border-box;font-family:Montserrat,Inter,sans-serif;box-shadow:none}.setup-field input[type=text]::placeholder,.setup-field input[type=number]::placeholder,.setup-field input[type=email]::placeholder{color:#6b7280;opacity:1}.setup-field input[type=text]:focus,.setup-field input[type=number]:focus,.setup-field input[type=email]:focus{border-color:#014b19;background:#ffffff;box-shadow:none}.setup-field input[type=text]:hover,.setup-field input[type=number]:hover,.setup-field input[type=email]:hover,.setup-field input[type=text]:active,.setup-field input[type=number]:active,.setup-field input[type=email]:active{background:#ffffff;border-color:#014b19}.setup-field input[type=text]:hover,.setup-field input[type=number]:hover,.setup-field input[type=email]:hover{border-color:#016b22b3}.setup-btn.sm{font-size:clamp(.6875rem,1.6vw,.875rem);padding:clamp(6px,1.6vw,10px) clamp(10px,2.5vw,14px);min-height:38px;min-width:38px}.setup-step-2 .setup-btn.sm{padding:clamp(4px,1vw,6px) clamp(7px,1.6vw,10px);min-height:32px;font-size:clamp(.65rem,1.4vw,.75rem);font-weight:700;border-radius:6px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);transition:all .2s ease;white-space:nowrap}.setup-step-2 .setup-btn.sm:hover{background:rgba(255,255,255,.18);border-color:#ffffff73;transform:translateY(-.5px)}.setup-step-2 .setup-btn.sm:not(.outline){background:linear-gradient(135deg,#4A9B4D,#3d8240);border-color:#ffffff38;color:#fff;box-shadow:0 1px 3px #4a9b4d40}.setup-step-2 .setup-btn.sm:not(.outline):hover{background:linear-gradient(135deg,#3d8240,#2f6632);box-shadow:0 2px 6px #4a9b4d59}.setup-file-name{font-size:clamp(9px,1.3vw,10.5px);color:#fffc;max-width:clamp(150px,34vw,220px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.setup-hint{color:#ffffffbf;font-size:clamp(10.5px,1.8vw,12px)}.setup-verify-panel{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(14px,2vh,18px);--panel-pad-y: clamp(26px, 3.6vh, 34px);--panel-pad-x: clamp(10px, 1.6vw, 22px);padding:var(--panel-pad-y) var(--panel-pad-x);border-radius:clamp(10px,1.2vw,14px);border:0px solid rgba(255,255,255,.22);background:rgba(29,95,48,.603);box-shadow:0 20px 42px -28px #083f144f}.setup-verify-panel h4{margin:0;font-size:clamp(11px,1.4vw,14px);font-weight:700}.setup-verify-panel p{margin:0;font-size:clamp(8.5px,1.2vw,10.3px);color:#ffffffd9;line-height:1.34}.setup-verify-content{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.setup-verify-actions{display:flex;flex-wrap:wrap;gap:clamp(5px,.8vw,8px);align-items:center;justify-content:flex-end;margin-left:auto;flex:0 0 auto;min-width:0}.setup-verify-actions .setup-btn{font-size:clamp(.6rem,1.6vw,.8rem);padding:clamp(6px,1.6vw,9px) clamp(10px,2vw,14px);min-height:44px}.setup-verify-actions .setup-status{font-weight:600;letter-spacing:.22px;font-size:clamp(11px,1.2vw,12.5px)}@media (min-width: 768px){.setup-verify-panel{flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(14px,2vh,18px);--panel-pad-y: clamp(26px, 3.6vh, 34px);--panel-pad-x: clamp(14px, 1.4vw, 28px);padding:var(--panel-pad-y) var(--panel-pad-x)}.setup-verify-content{max-width:320px}.setup-verify-actions{justify-content:flex-end}}@media (min-width: 1040px){.setup-body{align-items:stretch}.setup-section{margin-top:clamp(2px,.8vh,8px)}.setup-methods{display:grid;padding-top:clamp(2px,.6vh,6px)}.setup-method-card{height:100%}.setup-methods .setup-method-card:last-child{grid-column:1 / -1}}@media (max-height: 860px){.auth-content-wrapper{padding-block:clamp(14px,5vh,34px)}.setup-btn,.setup-verify-actions .setup-btn,.setup-actions .setup-btn{--setup-btn-min-h: 46px;min-height:var(--setup-btn-min-h)!important;padding:10px 18px!important;line-height:1.2!important;display:inline-flex;align-items:center;justify-content:center}.setup-btn.sm{min-height:40px!important;padding:8px 14px!important}.setup-verify-actions .setup-btn{min-width:150px!important;width:150px!important}.setup-flow{gap:clamp(10px,1.8vh,24px)}.setup-progress-header{gap:clamp(8px,1.6vh,16px)}.setup-header .auth-title{font-size:clamp(20px,3.4vw,32px)}.setup-header .auth-subtext{font-size:clamp(11px,2.2vw,14px)}.setup-heading .auth-title{font-size:clamp(18px,3.2vw,30px)}.setup-heading .auth-subtext{font-size:clamp(11px,2.2vw,15px)}.setup-stepper{--step-icon-size: clamp(18px, 2.2vw, 22px);--track-thickness: clamp(2px, .3vh, 2px)}.setup-method-card{padding:clamp(6px,1vh,10px);gap:clamp(3px,.6vh,6px)}.setup-field input[type=text],.setup-field input[type=email]{padding:clamp(6px,1vw,9px) clamp(8px,1.6vw,12px)}.setup-method-text p{line-clamp:2;-webkit-line-clamp:2}.setup-actions{margin-top:clamp(2px,.6vh,8px);border-top:none}.setup-verify-panel{--panel-pad-y: clamp(16px, 2vh, 20px)}}@media (max-height: 820px){.setup-heading{margin-bottom:clamp(2px,.5vh,6px)}.setup-heading .auth-title{font-size:clamp(16px,2.8vw,26px)}.setup-heading .auth-subtext{font-size:clamp(10px,1.8vw,13px)}.setup-step-2 .setup-form-grid{gap:clamp(6px,.9vh,10px)}.setup-step-2 .setup-field input[type=text],.setup-step-2 .setup-field input[type=number]{padding:clamp(6px,1.4vw,10px) clamp(8px,2vw,12px)}.setup-step-2 .photo-choice-row{gap:clamp(4px,1.2vw,8px)}.setup-step-2 .setup-input-inline{gap:clamp(4px,.8vh,8px)}.setup-step-2 .photo-preview img{width:clamp(40px,7.5vw,60px);height:clamp(40px,7.5vw,60px)}.setup-step-2 .suffix-tag{padding:clamp(6px,1.2vw,8px) clamp(8px,1.8vw,10px);min-height:40px}.setup-step-2 .setup-card:nth-of-type(2) .setup-input-inline>.setup-helper{display:none}}@media (max-height: 760px){.setup-step-2 .setup-card:nth-of-type(2) #help-plantname{display:none}.setup-step-2 .setup-field-label{font-size:clamp(11px,1.6vw,14px)}.setup-step-2 .setup-form-grid{gap:clamp(4px,.8vh,8px)}.auth-top-bar .auth-brand-wordmark{display:none}.auth-top-bar{gap:clamp(4px,.6vw,8px)}.setup-progress-header .setup-progress-pill{display:none}.setup-progress-header{gap:clamp(4px,.8vh,8px)}.setup-stepper{margin:0;padding-top:0;--step-icon-size: clamp(14px, 1.8vw, 18px);--track-thickness: 1px}#help-nickname,#help-location{display:none}.setup-actions{gap:clamp(6px,1.2vw,10px)}.setup-actions .setup-btn{min-width:84px;font-size:clamp(11px,1.8vw,13px)}}@media (max-height: 700px){.setup-heading .auth-subtext,.auth-top-bar .auth-back-text,.auth-top-bar .auth-brand-wordmark,.setup-step-2 .setup-helper{display:none}.setup-step-2 .setup-card{padding:clamp(6px,.9vh,10px);gap:clamp(4px,.8vh,8px)}.setup-step-2 .setup-section-title{font-size:clamp(.82rem,1.6vw,.98rem)}.setup-step-2 .setup-form-grid{gap:clamp(4px,.8vh,8px)}.setup-step-2 .setup-field-label{font-size:clamp(10px,1.4vw,12px)}.setup-step-2 .setup-optional{font-size:clamp(9px,1.4vw,11px);padding:1px 6px}.setup-step-2 .setup-field input[type=text],.setup-step-2 .setup-field input[type=number]{padding:6px 10px;min-height:42px}.setup-step-2 .suffix-tag{min-height:38px;padding:6px 8px}.setup-step-2 .photo-choice-row{gap:6px}.setup-step-2 .photo-preview img{width:34px;height:34px}.setup-actions{gap:8px;margin-top:6px}.setup-actions .setup-btn{min-width:80px;font-size:clamp(10.5px,1.6vw,12.5px)}}@media (max-height: 600px){.setup-progress-header{display:none}.setup-heading{margin-bottom:6px}.setup-heading .auth-title{font-size:clamp(15px,2.4vw,20px)}.setup-step-2 .setup-field input[type=text],.setup-step-2 .setup-field input[type=number]{min-height:40px}.setup-actions .setup-btn{min-height:40px;padding:8px 10px}}@media (max-height: 640px){.setup-heading{margin-bottom:clamp(2px,.6vh,4px)}.setup-heading .auth-title{font-size:clamp(16px,2.6vw,22px)}.setup-heading .auth-subtext{font-size:clamp(10px,1.8vw,12px)}.setup-step-2 .setup-card{padding:clamp(6px,.9vh,10px);gap:clamp(4px,.8vh,8px)}.setup-step-2 .setup-section-title{font-size:clamp(.85rem,1.8vw,1rem)}.setup-step-2 .photo-preview img{width:36px;height:36px}.setup-step-2 .suffix-tag{min-height:38px;padding:6px 8px}.setup-actions .setup-btn{font-size:clamp(10.5px,1.6vw,12px);padding:8px 12px}}@media (max-height: 720px){.auth-content-wrapper{padding-block:clamp(12px,4vh,28px)}.setup-progress-header{gap:clamp(6px,1.4vh,14px)}.setup-progress-pill{font-size:clamp(10px,1.4vw,12px)}.setup-step-count{font-size:clamp(10px,1.6vw,12px)}.setup-heading .auth-title{font-size:clamp(18px,4vw,30px)}.setup-heading .auth-subtext{font-size:clamp(11px,2vw,14px)}.setup-method-text h3{font-size:clamp(9.8px,1.3vw,12px)}.setup-method-text p{font-size:clamp(8.5px,1.1vw,10px);line-clamp:2;-webkit-line-clamp:2}.setup-field input[type=text],.setup-field input[type=email]{padding:clamp(5px,1.2vw,8px) clamp(8px,1.8vw,10px)}.setup-verify-panel{padding:clamp(5px,1.1vh,10px)}.setup-btn{padding:clamp(9px,2.4vw,14px) clamp(14px,3.4vw,20px)}.setup-actions .setup-btn{min-height:clamp(44px,6vh,48px)}.setup-section-title{font-size:clamp(.9rem,2vw,1.05rem)}.setup-form-grid{gap:clamp(6px,1vh,10px)}}@media (max-height: 640px){.setup-method-card{padding:clamp(5px,1vh,10px)}.setup-method-text p{line-height:1.32}.setup-btn.sm{min-height:clamp(44px,6.4vh,50px)}.setup-verify-panel h4{font-size:clamp(10px,1.2vw,13px)}.setup-verify-panel p{font-size:clamp(8px,1.1vw,9.8px)}}@media (max-width: 640px){.setup-method-card{padding:clamp(6px,3.4vw,12px);border-radius:11px}.setup-method-index{width:clamp(22px,5.4vw,28px);height:clamp(22px,5.4vw,28px)}.setup-method-icon{width:clamp(26px,6.8vw,32px);height:clamp(26px,6.8vw,32px)}.setup-verify-panel{padding:clamp(7px,3.2vw,12px)}}@media (max-width: 420px){.auth-content-wrapper{padding:clamp(6px,2.4vh,10px) clamp(10px,3vw,14px)}.setup-stepper{--step-icon-size: clamp(18px, 4.2vw, 22px);--track-thickness: 2px}.setup-header .auth-title{font-size:clamp(18px,5.2vw,26px)}.setup-header .auth-subtext{font-size:clamp(11px,3.2vw,14px)}.setup-heading .auth-title{font-size:clamp(18px,4.2vw,24px)}.setup-heading .auth-subtext{font-size:clamp(10px,3.2vw,13px)}.setup-methods{gap:clamp(6px,1.6vh,10px)}.setup-method-card{padding:clamp(6px,1vh,10px)}.setup-method-text p,.setup-hint{display:none}.setup-method-index{width:clamp(16px,4.6vw,20px);height:clamp(16px,4.6vw,20px)}.setup-method-icon{width:clamp(24px,6.4vw,28px);height:clamp(24px,6.4vw,28px)}.setup-method-copy{align-items:center}.setup-verify-panel{--panel-pad-y: clamp(16px, 2vh, 20px)}.setup-verify-actions{justify-content:flex-end;margin-left:auto}.setup-verify-actions .setup-btn{font-size:clamp(.56rem,3.2vw,.72rem);padding:6px 10px;min-height:44px}.setup-actions{margin-top:clamp(2px,.6vh,6px)}.setup-btn{font-size:clamp(.56rem,3.2vw,.75rem);padding:clamp(6px,2.2vw,9px) clamp(10px,3vw,14px);border-radius:clamp(4px,1.2vw,6px);box-shadow:0 1px 4px #00000024;min-height:44px}.setup-actions{flex-direction:row;align-items:center;justify-content:flex-end;gap:clamp(8px,3vw,12px)}.setup-actions .setup-btn{width:auto;min-width:88px;padding:8px 12px}}@media (max-width: 480px){.setup-methods .setup-method-card:last-child .setup-method-copy{align-items:center}}@media (max-width: 360px){.setup-btn{font-size:clamp(.55rem,3.4vw,.7rem);padding:6px 10px;min-height:44px}.setup-actions .setup-btn{min-width:80px;padding:6px 10px}.setup-verify-actions .setup-btn{font-size:clamp(.54rem,3.2vw,.68rem);padding:6px 10px}}@media (max-width: 320px){.setup-verify-panel{--panel-pad-y: clamp(6px, 1vh, 10px);--panel-pad-x: clamp(8px, 1.2vw, 14px);gap:clamp(6px,1vw,8px);border-radius:8px}.setup-verify-panel h4{font-size:clamp(10px,3.2vw,12px)}.setup-verify-panel p{font-size:clamp(8px,2.8vw,9.5px)}.setup-verify-actions{gap:clamp(4px,.6vw,6px)}.setup-verify-actions .setup-btn{font-size:clamp(.52rem,3vw,.64rem);padding:5px 8px;min-height:42px;min-width:72px}.setup-btn{font-size:clamp(.52rem,3vw,.64rem);padding:5px 8px;min-height:42px}.setup-modal-content{padding:14px;gap:10px;width:min(520px,94vw)}.modal-close-btn.inline{width:32px;height:32px;font-size:20px}.default-image-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.default-image-btn{padding:8px 6px;font-size:clamp(.65rem,2.8vw,.72rem)}.otp-input-row{gap:clamp(6px,1.6vw,8px)}.otp-box{width:34px;height:46px;font-size:18px;border-radius:8px}}@media (max-width: 280px){.setup-verify-panel{--panel-pad-y: 6px;--panel-pad-x: 8px;gap:6px;flex-direction:column;align-items:stretch}.setup-verify-content{gap:3px}.setup-verify-panel h4{font-size:10px}.setup-verify-panel p{font-size:8px;line-height:1.3}.setup-verify-actions{justify-content:center;margin-left:0;gap:4px}.setup-verify-actions .setup-btn{font-size:.5rem;padding:5px 7px;min-height:40px;min-width:68px;flex:1 1 auto}.setup-btn{font-size:.5rem;padding:5px 7px;min-height:40px}.setup-modal-content{padding:12px;gap:8px;width:min(520px,96vw);border-radius:8px}.modal-head-row{gap:8px}.modal-close-btn.inline{width:28px;height:28px;font-size:18px}.default-image-grid{grid-template-columns:1fr;gap:6px;max-height:min(300px,50vh)}.default-image-btn{padding:7px 5px;font-size:.62rem}.otp-input-row{gap:5px}.otp-box{width:30px;height:42px;font-size:16px;border-radius:6px;border-width:1.5px}}.setup-status{font-size:clamp(11px,2vw,12.5px)}.setup-status.success{color:#90ee90}.setup-status.error{color:#ffe2e2}.setup-file{display:none}.setup-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.setup-modal-content{background:rgba(51,148,50,.9);color:#fff;border:2px solid rgba(255,255,255,.6);border-radius:10px;padding:20px;width:min(520px,92vw);display:flex;flex-direction:column;gap:12px}.modal-close-btn{position:absolute;top:12px;right:12px;z-index:2;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;cursor:pointer;padding:0}.modal-close-btn:hover,.modal-close-btn:focus{background:rgba(255,255,255,.26);outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.modal-close-btn span{transform:translateY(-1px)}.default-image-modal-content .modal-close-btn.inline{position:static;width:40px;height:40px;background:rgba(74,155,77,.1);border:2px solid rgba(74,155,77,.3);color:#4a9b4d;font-size:28px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;flex-shrink:0;font-weight:600}.default-image-modal-content .modal-close-btn.inline:hover{background:#4A9B4D;border-color:#4a9b4d;color:#fff;transform:rotate(90deg) scale(1.08);box-shadow:0 4px 12px #4a9b4d59}.default-image-modal-content .modal-close-btn.inline:active{transform:rotate(90deg) scale(.98)}.modal-close-btn:not(.inline){position:absolute}.setup-stepper{--step-icon-size: clamp(22px, 2.6vw, 28px);--track-thickness: clamp(2px, .4vh, 3px);--track-top-offset: clamp(0px, .4vh, 2px);width:100%;position:relative;padding-top:clamp(2px,.6vh,4px);margin-top:clamp(0px,.3vh,2px);margin-bottom:clamp(2px,.6vh,4px)}.setup-stepper.labels-only .setup-track,.setup-stepper.labels-only .setup-track-active,.setup-stepper.labels-only .setup-step-icon{display:none!important}.setup-stepper.labels-only .setup-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,1.2vw,12px)}.setup-stepper.labels-only .setup-step-label{text-align:center;font-weight:700;color:#ffffffb3}.setup-stepper.labels-only .setup-step.current .setup-step-label{color:#fff;background:rgba(255,255,255,.14);padding:clamp(4px,.8vh,8px) clamp(6px,1.2vw,10px);border-radius:999px}.setup-form-grid{display:grid;grid-template-columns:1fr;gap:clamp(8px,1.2vh,12px);align-items:start}@media (min-width: 640px){.setup-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.setup-form-grid .span-2{grid-column:1 / -1}.photo-choice-row{display:flex;flex-wrap:wrap;gap:clamp(6px,1.8vw,10px)}.setup-select{width:100%;padding:clamp(8px,1.6vw,12px) clamp(10px,2.5vw,14px);border-radius:clamp(6px,1vw,10px);border:2px solid rgba(1,107,34,.45);background:#ffffff;color:#0b2d16;font-size:clamp(.875rem,2.2vw,1rem);font-weight:600;outline:none;min-height:44px;box-sizing:border-box;font-family:Montserrat,Inter,sans-serif}.setup-select:focus{border-color:#014b19;background:#ffffff;box-shadow:none}.setup-select:hover,.setup-select:active{background:#ffffff;border-color:#014b19}.setup-select:hover{border-color:#016b22b3}.setup-select[data-empty=true],.setup-select option[value=""]{color:#6b7280}.inline-row{display:grid;grid-template-columns:minmax(140px,42%) 1fr;gap:clamp(6px,1.2vw,10px);align-items:center}.inline-row .setup-field-label-row{min-width:0;white-space:nowrap;overflow:hidden}.inline-row .setup-field-label-row .setup-field-label{overflow:hidden;text-overflow:ellipsis}.inline-row .input-with-suffix{width:100%}.inline-row .input-with-suffix input{min-width:0;width:100%}@media (max-width: 420px){.inline-row{grid-template-columns:minmax(120px,36%) 1fr}.inline-row .setup-field-label-row .setup-optional{display:none}.inline-row .input-with-suffix .suffix-tag{padding:6px 8px}}@media (max-width: 360px){.inline-row{grid-template-columns:minmax(110px,33%) 1fr}.inline-row .input-with-suffix .suffix-tag{padding:5px 8px}}.duration-inline-row{grid-template-columns:max-content 1fr}.duration-inline-row .setup-field-label-row{white-space:nowrap;overflow:visible}.duration-inline-row .setup-field-label-row .setup-field-label{overflow:visible;text-overflow:unset}.duration-inline-row .input-with-suffix{justify-self:end;max-width:min(380px,70vw)}.duration-inline-row .input-with-suffix input[type=number],.duration-inline-row .input-with-suffix input{box-sizing:border-box;min-width:9ch}@media (max-width: 480px){.duration-inline-row .input-with-suffix{max-width:min(300px,64vw)}}@media (max-width: 360px){.duration-inline-row .input-with-suffix{max-width:min(240px,60vw)}}@media (max-width: 560px){.duration-inline-row .setup-field-label-row .setup-optional{display:none}.duration-inline-row .input-with-suffix .suffix-tag{padding:6px 8px}}.setup-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.setup-field-label-row .label-icon-right{display:inline-flex;align-items:center;opacity:.9}.setup-optional{color:#fffc;font-size:clamp(10px,1.6vw,12px);font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);padding:2px 6px;border-radius:999px}.setup-step-2 .setup-optional{font-size:clamp(7px,1.2vw,8.5px);padding:1px 4px;font-weight:600;background:rgba(255,255,255,.15);border-color:#ffffff4d;opacity:.88}.label-right-icon{display:inline-flex;align-items:center;justify-content:center;width:clamp(20px,3.4vw,24px);height:clamp(20px,3.4vw,24px);border-radius:6px;background:rgba(1,107,34,.18);border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px #ffffff14}.input-with-suffix{display:grid;grid-template-columns:1fr max-content;align-items:center;gap:clamp(6px,1.2vw,10px)}.suffix-tag{background:rgba(255,255,255,.14);color:#fff;font-weight:800;font-family:Montserrat,Inter,sans-serif;letter-spacing:.04em;padding:clamp(8px,1.6vw,10px) clamp(10px,2vw,12px);border-radius:clamp(6px,1vw,10px);border:1px solid rgba(255,255,255,.24);min-height:44px;display:inline-flex;align-items:center}.setup-unit{font-size:clamp(11px,1.4vw,13px);font-weight:600;color:#ffffffd9;padding:0 4px 0 2px;line-height:1.2;display:inline-flex;align-items:center;position:relative}.setup-unit:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:1px;height:60%;background:rgba(255,255,255,.25)}.input-with-suffix.natural-unit{grid-template-columns:max-content 1fr max-content;gap:8px}.duration-inline-row .input-with-suffix.natural-unit{grid-template-columns:max-content max-content max-content}.duration-inline-row .input-with-suffix.natural-unit input.duration-days-input{width:clamp(42px,7vw,70px);flex:0 0 auto}.input-with-suffix.natural-unit input{order:2}.input-with-suffix.natural-unit .setup-unit{order:3}.duration-days-input{width:clamp(48px,9vw,82px);text-align:left;padding-right:8px}.suffix-icon{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:clamp(6px,1vw,10px);min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 clamp(10px,2vw,12px)}.photo-preview{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:clamp(8px,1.6vw,12px)}.photo-preview img{width:clamp(48px,9vw,72px);height:clamp(48px,9vw,72px);object-fit:cover;border-radius:8px;border:2px solid rgba(255,255,255,.25);box-shadow:0 2px 10px -6px #0000004d}.photo-preview .photo-actions{display:flex;gap:clamp(6px,1.6vw,10px);align-items:center}@media (max-height: 720px){.setup-card{padding:clamp(8px,1.2vh,12px);gap:clamp(6px,1vh,10px)}.setup-helper{font-size:clamp(.6875rem,1.6vw,.8125rem)}.photo-choice-row{gap:clamp(4px,1.2vw,8px)}.photo-preview img{width:clamp(44px,8vw,64px);height:clamp(44px,8vw,64px)}.suffix-tag{padding:clamp(6px,1.2vw,8px) clamp(8px,1.8vw,10px);min-height:40px}}.setup-card{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:clamp(8px,1vw,12px);padding:clamp(10px,1.6vh,16px);box-shadow:0 2px 10px -8px #00000059;display:flex;flex-direction:column;gap:clamp(8px,1.2vh,12px)}.device-summary-card{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:clamp(8px,1.6vw,12px);background:rgba(1,107,34,.12);border-color:#016b2242}.device-summary-icon{width:clamp(22px,4.6vw,28px);height:clamp(22px,4.6vw,28px);border-radius:6px;background:rgba(1,107,34,.22);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:inset 0 1px #ffffff1a}.device-summary-text{display:flex;flex-direction:column;gap:2px}.device-summary-title{margin:0;font-family:Montserrat,Inter,sans-serif;font-weight:800;color:#fff;font-size:clamp(.9rem,2.2vw,1.05rem)}.device-summary-sub{margin:0;color:#ffffffe0;font-weight:600;font-size:clamp(.6875rem,1.8vw,.875rem)}.setup-section-title{margin:0;font-family:Montserrat,Inter,sans-serif;font-weight:800;font-size:clamp(.95rem,2.2vw,1.125rem);letter-spacing:.01em;color:#fff}.setup-helper{margin:4px 0 0;font-size:clamp(.6875rem,1.6vw,.875rem);color:#ffffffdb;line-height:1.35}.setup-helper.setup-helper--sm{font-size:clamp(.625rem,1.4vw,.8125rem);color:#fffc}.setup-error{margin:4px 0 0;color:#ffe2e2;font-weight:700;font-size:clamp(.75rem,1.8vw,.9rem)}.setup-track{position:absolute;left:0;right:0;top:calc((var(--step-icon-size) - var(--track-thickness)) / 2 + var(--track-top-offset));height:var(--track-thickness);background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden}.setup-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.04))}.setup-track-active{position:absolute;left:0;top:calc((var(--step-icon-size) - var(--track-thickness)) / 2 + var(--track-top-offset));height:var(--track-thickness);background:linear-gradient(90deg,#ffffff,rgba(255,255,255,.5));border-radius:999px;transition:width .25s ease;box-shadow:0 1px 3px #0000002e}.setup-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:clamp(4px,.6vw,10px)}.setup-step{display:flex;flex-direction:column;align-items:center;gap:clamp(1px,.3vh,2px);position:relative}.setup-step .setup-step-node{display:flex;flex-direction:column;align-items:center;gap:clamp(1px,.3vh,2px)}.setup-step .setup-step-icon{width:var(--step-icon-size);height:var(--step-icon-size);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-family:Montserrat,Inter,sans-serif;font-weight:800;font-size:clamp(.625rem,1.2vw,.75rem);border:2px solid rgba(255,255,255,.36);color:#ffffffe6;background:rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff1a}.setup-step .setup-step-label{font-family:Montserrat,Inter,sans-serif;font-weight:700;letter-spacing:.04em;color:#ffffffe0;font-size:clamp(.5rem,1.1vw,.625rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:clamp(4px,.8vh,6px)}.setup-step.completed .setup-step-icon{background:#ffffff;color:#016b22;border-color:#0d8a3a;box-shadow:0 0 0 2px #0d8a3a59,0 6px 14px -6px #00000073}.setup-step.completed .setup-step-label{color:#fff}.setup-step.current .setup-step-icon{background:#016b22;color:#fff;border-color:#fff;box-shadow:0 0 0 3px #ffffff3d,0 12px 24px -10px #00000073}.setup-step.current .setup-step-label{color:#fff}.setup-step.upcoming .setup-step-icon{background:rgba(255,255,255,.08);color:#ffffffd9;border-color:#ffffff59}@media (min-width: 480px){.auth-content-wrapper{padding:clamp(8px,1.8vh,14px) clamp(16px,3.2vw,20px)}.setup-flow{gap:clamp(5px,1.2vh,10px)}.setup-methods{gap:clamp(5px,.8vh,8px)}.setup-method-card{padding:clamp(6px,1.2vh,10px)}.setup-heading .auth-title{font-size:clamp(1.125rem,3.2vw,1.75rem)}}@media (min-width: 600px){.auth-content-wrapper{padding:clamp(12px,2vh,18px) clamp(20px,3.5vw,28px)}.setup-shell{max-width:clamp(480px,80vw,640px);margin:0 auto}.setup-stepper{margin-bottom:clamp(6px,1vh,10px)}.setup-step .setup-step-icon{width:clamp(22px,2.8vw,28px);height:clamp(22px,2.8vw,28px)}}@media (min-width: 768px){.auth-content-wrapper{padding:clamp(16px,2.2vh,24px) clamp(24px,4vw,40px)}.setup-shell{max-width:clamp(560px,75vw,720px)}.setup-flow{gap:clamp(8px,1.5vh,14px)}.setup-top{gap:clamp(6px,1vh,10px)}.setup-bottom{gap:clamp(6px,.8vh,10px)}.setup-method-card{gap:clamp(4px,.8vh,7px);padding:clamp(8px,1.4vh,12px)}.setup-methods{gap:clamp(10px,1.4vw,16px)}.setup-heading .auth-title{font-size:clamp(1.25rem,3vw,2rem)}.setup-heading .auth-subtext{font-size:clamp(.75rem,1.8vw,.875rem)}}@media (min-width: 1024px){.setup-shell{max-width:clamp(600px,70vw,800px)}.auth-content-wrapper{padding:clamp(20px,2.5vh,32px) clamp(32px,4.5vw,48px)}.setup-flow{gap:clamp(10px,1.8vh,18px)}.setup-heading .auth-title{font-size:clamp(1.5rem,2.8vw,2.25rem)}.setup-heading .auth-subtext{font-size:clamp(.875rem,1.6vw,1rem)}.setup-method-text h3{font-size:clamp(.8125rem,1.2vw,.9375rem)}.setup-method-text p{font-size:clamp(.6875rem,1vw,.75rem)}.setup-btn{font-size:clamp(.875rem,1.8vw,1rem);padding:clamp(10px,2vw,14px) clamp(16px,3.2vw,22px)}}@media (min-width: 768px) and (min-aspect-ratio: 16/9) and (max-height: 600px){.setup-methods{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(8px,1.2vw,14px)}}@media (min-width: 1440px){.setup-shell{max-width:960px;margin:0 auto}.auth-content-wrapper{justify-content:center}.setup-heading .auth-title{font-size:clamp(1.75rem,2.5vw,2.5rem)}.setup-heading .auth-subtext{font-size:clamp(1rem,1.4vw,1.125rem)}}@media (min-width: 1920px){.setup-shell{max-width:960px;margin:0 auto}.auth-content-wrapper{justify-content:center}}.setup-btn:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.setup-field input[type=text]:focus{border-color:#014b19;background:#ffffff;box-shadow:none}.setup-method-card:focus-within{border-color:#ffffff47;box-shadow:0 0 0 2px #ffffff1f,0 8px 24px -18px #00000080}.setup-btn,.setup-field input[type=text],.setup-method-card button,.setup-method-card [tabindex]{min-height:44px;min-width:44px}@media (prefers-reduced-motion: reduce){.setup-btn,.setup-track-active,.setup-step .setup-step-icon{transition:none}}@media (prefers-contrast: high){.setup-method-card{border-color:#fffc;background:rgba(255,255,255,.1)}.setup-field input[type=text],.setup-field input[type=email]{border-color:#ffffffe6;background:rgba(255,255,255,.15)}.setup-btn{border:2px solid currentColor}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.setup-method-card{border-width:.5px}.setup-field input[type=text],.setup-field input[type=email]{border-width:1px}}@media (max-width: 460px){.setup-step .setup-step-label{display:none}}.setup-step-4 .setup-card{background:linear-gradient(145deg,#f9fdf9 0%,#ffffff 100%);border:2px solid rgba(74,155,77,.15);border-radius:16px;padding:32px 24px;box-shadow:0 4px 12px #4a9b4d14,0 1px 3px #0000000d}.setup-step-4 .setup-section-title{color:#4a9b4d;font-size:clamp(20px,4vw,24px);font-weight:700;margin-bottom:8px;text-align:center}.setup-step-4 .setup-helper{text-align:center;color:#555;font-size:clamp(13px,2.5vw,15px);line-height:1.5}.setup-step-4 .setup-helper strong{color:#4a9b4d;font-weight:600}.otp-input-row{display:flex;gap:clamp(8px,2vw,12px);margin-top:24px;justify-content:center;align-items:center;max-width:400px;margin-left:auto;margin-right:auto}.otp-box{width:clamp(48px,10vw,56px);height:clamp(48px,10vw,56px);text-align:center;font-size:clamp(22px,4vw,28px);font-family:Montserrat,sans-serif;font-weight:600;color:#333;letter-spacing:0;line-height:1;background:#ffffff;border:2px solid #e0e0e0;border-radius:10px;box-shadow:inset 0 2px 4px #0000000f,0 1px 2px #0000000d;outline:none;transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,transform .15s ease}.otp-box:hover{border-color:#9acd32;box-shadow:inset 0 2px 4px #0000000f,0 2px 4px #9acd3226}.otp-box:focus{border-color:#9acd32;border-width:2.5px;background:#fafffe;box-shadow:inset 0 1px 3px #0000000a,0 0 0 4px #9acd3233,0 4px 8px #9acd3226;animation:pulse-border 1.5s ease-in-out infinite}.otp-box:active{transform:scale(.96);border-color:#9acd32}.otp-box[data-filled=true]{border-color:#4a9b4d;background:linear-gradient(145deg,#f0f9f0 0%,#ffffff 100%);color:#2d5f2f;box-shadow:inset 0 1px 3px #4a9b4d14,0 2px 6px #4a9b4d1f}.otp-box[data-filled=true]:focus{box-shadow:inset 0 1px 3px #4a9b4d14,0 0 0 4px #9acd3240,0 4px 8px #4a9b4d33}.otp-box[aria-invalid=true]{border-color:#dc143c;background:#fff5f5;animation:shake .4s ease-in-out}@keyframes pulse-border{0%,to{box-shadow:inset 0 1px 3px #0000000a,0 0 0 4px #9acd3233,0 4px 8px #9acd3226}50%{box-shadow:inset 0 1px 3px #0000000a,0 0 0 4px #9acd3259,0 4px 12px #9acd3240}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.setup-step-4 .setup-error{margin-top:16px;padding:12px 16px;background:rgba(220,20,60,.08);border:1px solid rgba(220,20,60,.2);border-left:4px solid #dc143c;border-radius:8px;color:#b91c1c;font-size:14px;text-align:center;animation:fadeIn .3s ease}.setup-step-4 .setup-status.success{margin-top:16px;padding:12px 16px;background:rgba(74,155,77,.08);border:1px solid rgba(74,155,77,.2);border-left:4px solid #4A9B4D;border-radius:8px;color:#2d5f2f;font-size:14px;text-align:center;animation:fadeIn .3s ease}.otp-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;align-items:center}.otp-verify-btn{width:100%;max-width:300px;padding:14px 32px;background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4a9b4d4d}.otp-verify-btn:hover:not(:disabled){background:linear-gradient(135deg,#3d8240 0%,#2f6930 100%);transform:translateY(-2px);box-shadow:0 6px 16px #4a9b4d66}.otp-verify-btn:active:not(:disabled){transform:translateY(0)}.otp-verify-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.otp-resend-btn{background:none;border:none;color:#4a9b4d;font-size:14px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s ease}.otp-resend-btn:hover:not(:disabled){background:rgba(74,155,77,.08);color:#3d8240}.otp-resend-btn:disabled{opacity:.5;cursor:not-allowed;color:#999}.otp-resend-timer{font-size:13px;color:#666;margin-top:8px}@media (max-width: 600px){.otp-box{width:clamp(44px,11vw,52px);height:clamp(44px,11vw,52px);font-size:clamp(20px,4.5vw,24px);border-radius:9px}.otp-input-row{gap:clamp(6px,1.8vw,10px)}}@media (max-width: 420px){.otp-box{width:44px;height:44px;font-size:20px;border-radius:8px}.otp-input-row{gap:6px}}@media (max-width: 360px){.otp-box{width:40px;height:40px;font-size:18px;border-radius:8px}.otp-input-row{gap:5px}}.wifi-list{margin-top:12px}.wifi-item.selected .wifi-select-btn{background:linear-gradient(145deg,#0c8a3a,#0a6a2d)}.wifi-select-btn:focus-visible{outline:2px solid #4cd472;outline-offset:2px}.input-with-toggle{position:relative;display:flex;align-items:center}.input-with-toggle input{flex:1;padding-right:70px}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:6px;font-size:11px;padding:4px 8px;cursor:pointer}.pw-toggle:hover{background:rgba(255,255,255,.28)}.pw-toggle:focus-visible{outline:2px solid #4cd472;outline-offset:2px}.account-success{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (orientation:landscape) and (max-height:500px){.otp-input-row{gap:7px}.otp-box{width:42px;height:42px;font-size:19px}.wifi-list{max-height:140px}}@media (orientation:landscape) and (max-height:400px){.setup-verify-panel{--panel-pad-y: 5px;border-radius:8px}.setup-verify-content{gap:2px}.setup-verify-panel h4{font-size:clamp(9px,2.4vw,11px)}.setup-verify-panel p{font-size:clamp(7.5px,2vw,9px);line-height:1.25}.setup-verify-actions .setup-btn{min-height:38px;padding:4px 8px;font-size:clamp(.5rem,2.6vw,.62rem)}.otp-input-row{gap:5px}.otp-box{width:38px;height:38px;font-size:17px;border-radius:7px}.setup-modal-content{max-height:90vh;overflow-y:auto}.default-image-grid{max-height:min(200px,40vh)}}@media (orientation:portrait) and (max-width:420px) and (min-height:500px){.setup-verify-panel{border-radius:clamp(8px,1.2vw,12px)}.setup-modal-content{max-height:85vh;overflow-y:auto}.default-image-grid{max-height:min(480px,65vh)}}@media (orientation:portrait) and (max-width:320px){.setup-verify-panel{gap:clamp(6px,1.2vw,8px)}.otp-input-row{flex-wrap:wrap;justify-content:center}}.wifi-list[role=radiogroup] li[role=radio]{list-style:none}.default-image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.default-image-modal-content{background:linear-gradient(145deg,#ffffff 0%,#f0f9f0 100%);border:3px solid #4A9B4D;border-radius:20px;max-width:650px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 70px #4a9b4d40,0 10px 30px #00000026;animation:slideUp .3s ease-out;position:relative;overflow:hidden}.default-image-modal-content .modal-head-row{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 20px;border-bottom:2px solid rgba(74,155,77,.15);background:linear-gradient(135deg,rgba(74,155,77,.05) 0%,transparent 100%);flex-shrink:0}.default-image-modal-content h4{margin:0;font-family:Abril Fatface,cursive;font-size:clamp(22px,4vw,28px);font-weight:400;color:#4a9b4d;letter-spacing:.02em;text-shadow:0 1px 2px rgba(74,155,77,.15)}.default-image-modal-content .setup-helper{padding:16px 32px 0;margin:0;font-size:15px;color:#555;line-height:1.5}.default-image-grid{list-style:none;margin:0;padding:24px 32px 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;max-height:min(500px,60vh);overflow-y:auto;overflow-x:hidden}.default-image-item{list-style:none}.default-image-btn{width:100%;background:white;border:2px solid rgba(74,155,77,.25);border-radius:12px;padding:16px 14px;text-align:center;color:#333;font-size:clamp(13px,2vw,15px);font-weight:600;font-family:Montserrat,sans-serif;line-height:1.3;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000f}.default-image-btn:hover{background:rgba(74,155,77,.05);border-color:#4a9b4d;transform:translateY(-2px);box-shadow:0 4px 12px #4a9b4d33}.default-image-btn:focus{outline:none;border-color:#4a9b4d;box-shadow:0 0 0 4px #9acd3233,0 4px 12px #4a9b4d40}.default-image-btn.selected{background:linear-gradient(135deg,#4A9B4D 0%,#3d8240 100%);color:#fff;border-color:#4a9b4d;box-shadow:0 4px 16px #4a9b4d59,inset 0 1px 2px #fff3;transform:scale(1.02)}.default-image-btn.selected:hover{background:linear-gradient(135deg,#3d8240 0%,#2f6930 100%);transform:scale(1.02) translateY(-2px)}.default-image-label{display:block;position:relative;z-index:1}.default-image-grid::-webkit-scrollbar{width:8px}.default-image-grid::-webkit-scrollbar-track{background:rgba(74,155,77,.05);border-radius:4px}.default-image-grid::-webkit-scrollbar-thumb{background:rgba(74,155,77,.3);border-radius:4px}.default-image-grid::-webkit-scrollbar-thumb:hover{background:rgba(74,155,77,.5)}@media (max-width: 600px){.default-image-modal-content{max-width:95%;border-radius:16px}.default-image-modal-content .modal-head-row{padding:20px 24px 16px}.default-image-modal-content h4{font-size:clamp(20px,5vw,24px)}.default-image-grid{padding:20px 24px 24px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.default-image-btn{padding:14px 12px;font-size:clamp(12px,2.5vw,14px)}.default-image-modal-content .modal-close-btn.inline{width:36px;height:36px;font-size:24px}}@media (max-width: 420px){.default-image-modal-content .modal-head-row{padding:16px 20px 12px}.default-image-grid{padding:16px 20px 20px;grid-template-columns:repeat(2,1fr);gap:8px}.default-image-btn{padding:12px 10px;font-size:12px;border-radius:10px}}@media (max-height: 600px){.default-image-grid{max-height:min(350px,55vh)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.setup-modal-content.setup-modal-error{align-items:center;text-align:center}:root{--otp-text-color: #00862F}@media (prefers-contrast: more){:root{--otp-text-color: #00a23b}}.otp-box,.otp-box[data-filled=true]{color:var(--otp-text-color)}.otp-box:focus{color:var(--otp-text-color)}.otp-box:active{color:var(--otp-text-color)}.wifi-card{position:relative}.wifi-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wifi-head-actions{display:flex;align-items:center;gap:6px}.icon-btn.refresh{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:8px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn.refresh:disabled{opacity:.4;cursor:not-allowed}.icon-btn.refresh:hover:not(:disabled),.icon-btn.refresh:focus-visible{background:rgba(255,255,255,.2);outline:2px solid rgba(255,255,255,.4);outline-offset:2px}.wifi-status-banner{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:10px 12px;border-radius:10px;font-size:clamp(11px,1.6vw,13px);line-height:1.3;margin-top:12px}.wifi-status-banner.scanning{animation:pulseFade 1.6s ease-in-out infinite}.wifi-status-banner.error{background:rgba(160,0,0,.25);border-color:#ff787880;color:#ffe2e2}.wifi-status-banner.success{background:rgba(0,140,44,.3);border-color:#008c2c99;color:#fff}.wifi-status-banner.empty{background:rgba(255,255,255,.08)}.wifi-status-banner.note{background:rgba(255,255,255,.06);font-size:11px;flex-direction:column;align-items:flex-start}.wifi-status-banner .link-btn{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.wifi-status-banner .link-btn:hover{opacity:.8}@keyframes pulseFade{0%,to{opacity:1}50%{opacity:.55}}.wifi-network-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.wifi-network-row{border:1px solid rgba(255,255,255,.2);border-radius:8px;background:linear-gradient(120deg,rgba(255,255,255,.05),rgba(255,255,255,.02));overflow:hidden;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.wifi-network-row.selected{border-color:#fff;background:linear-gradient(150deg,#0d8a3a,#066427);box-shadow:0 4px 16px -8px #00000080}.wifi-row-btn{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;gap:12px;box-sizing:border-box}.wifi-row-btn:focus-visible{outline:2px solid #4cd472;outline-offset:2px}.wifi-row-btn:hover .wifi-ssid{text-decoration:underline}.wifi-row-left{display:inline-flex;align-items:center;gap:8px;min-width:0}.wifi-ssid{font-weight:600;font-size:clamp(.7rem,1.8vw,.85rem);color:#fff;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wifi-lock{opacity:.85}.wifi-selected-indicator{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:rgba(255,255,255,.2);padding:4px 6px;border-radius:6px}.hidden-ssid-toggle-row{display:flex;align-items:center}.hidden-ssid-toggle-label{display:flex;align-items:center;gap:8px;font-size:clamp(11px,1.6vw,13px);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.hidden-ssid-toggle-label input{width:18px;height:18px;accent-color:#0d8a3a}.wifi-actions-row .setup-btn{min-width:120px}.input-with-toggle input#wifiPassword{background:#fff;color:#0b2d16}@media (max-width:420px){.wifi-row-btn{padding:8px 10px}.wifi-ssid{max-width:120px}.wifi-status-banner{padding:8px 10px}}@media (max-width:320px){.wifi-row-btn{padding:8px}.wifi-ssid{max-width:100px}.wifi-selected-indicator{display:none}}@media (prefers-reduced-motion: reduce){.wifi-status-banner.scanning{animation:none}.wifi-network-row{transition:none}}.setup-form-grid{display:grid;grid-template-columns:1fr;gap:clamp(10px,2.2vw,14px)}@media (min-width: 768px){.setup-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.setup-field.span-2{grid-column:1 / -1}.setup-field{display:flex;flex-direction:column;gap:6px}.setup-field-label-row{display:flex;align-items:center;justify-content:space-between}.setup-field-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffeb}.setup-field-label--xs{font-size:11px}.setup-helper{color:#ffffffd1;font-size:12px;margin:2px 0 0}.setup-helper--sm{font-size:11.5px;opacity:.92}.setup-field input[type=text],.setup-field input[type=email],.setup-field input[type=date],.setup-field select,.setup-input{width:100%;min-height:48px;padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:#ffffff;color:#1a1a1a;font-size:14px;font-weight:500;outline:none;box-shadow:0 2px 8px #0000000f}.setup-field input[type=text]:focus,.setup-field input[type=email]:focus,.setup-field input[type=date]:focus,.setup-field select:focus,.setup-input:focus{border-color:#1a1a1a;box-shadow:0 3px 12px #00000014}.reservoir-inline-row{display:grid;grid-template-columns:1fr;gap:clamp(10px,2vw,14px)}@media (min-width: 640px){.reservoir-inline-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.setup-bottom .setup-verify-panel{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(14px,2.6vh,18px) clamp(14px,3vw,22px);border:none;background:linear-gradient(180deg,#2f7c35 0%,#2f7c35 72%,#2a6f30 100%);color:#fff;box-shadow:0 10px 28px -16px #16442273,0 2px 4px #00000040;border-radius:12px;margin:0}.setup-bottom .setup-verify-panel[data-section=continue-step2] h4{font-size:14px;font-weight:700;letter-spacing:.3px;margin:0 0 4px}.setup-bottom .setup-verify-panel[data-section=continue-step2] p{margin:0;font-size:11px;line-height:1.4;opacity:.92}.setup-bottom .setup-verify-panel .setup-verify-actions{display:flex;gap:12px}.setup-bottom .setup-verify-panel .setup-verify-actions .setup-btn{background:#ffffff;color:#17632b;font-weight:700;border-radius:8px;min-width:110px;box-shadow:0 4px 12px #0000002e}.setup-bottom .setup-verify-panel .setup-verify-actions .setup-btn:hover{box-shadow:0 6px 16px #00000038;transform:translateY(-1px)}.setup-bottom .setup-verify-panel .setup-verify-actions .setup-btn:active{transform:translateY(0);box-shadow:0 3px 9px #0003}.setup-bottom .setup-verify-panel .setup-verify-actions .setup-btn:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:3px}@media (max-width: 640px){.setup-bottom .setup-verify-panel{flex-direction:column;align-items:stretch;gap:14px}.setup-bottom .setup-verify-panel .setup-verify-actions{justify-content:flex-end}.setup-bottom .setup-verify-panel .setup-verify-actions .setup-btn{width:100%}}@media (max-width: 768px){.setup-middle{overflow-y:auto}}.add-device-root{min-height:100vh;background:#FFFFFF;display:flex;flex-direction:column;font-family:Montserrat,sans-serif}.add-device-header{padding:20px;display:flex;justify-content:flex-end}.close-btn{width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.05);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#0009}.close-btn:hover{background:rgba(0,0,0,.08);color:#000000de}.close-btn:active{transform:scale(.95)}.add-device-container{flex:1;max-width:480px;width:100%;margin:0 auto;padding:0 24px 40px;display:flex;flex-direction:column;gap:32px}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:16px}.step-counter{font-size:14px;font-weight:600;color:#339432e6;letter-spacing:.5px}.step-dots{display:flex;gap:8px}.step-dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.1);transition:all .3s ease}.step-dot.active{width:24px;border-radius:4px;background:rgba(51,148,50,.9)}.step-dot.completed{background:rgba(51,148,50,.4)}.step-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.step-icon-circle{width:80px;height:80px;border-radius:50%;background:rgba(51,148,50,.1);display:flex;align-items:center;justify-content:center;color:#339432e6;margin-bottom:8px}.step-title{font-family:Abril Fatface,serif;font-size:32px;font-weight:400;color:#111111db;margin:0;line-height:1.2}.step-subtitle{font-size:16px;color:#0009;margin:0;line-height:1.5}.step-form{display:flex;flex-direction:column;gap:24px}.form-field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:14px;font-weight:600;color:#000000de;letter-spacing:.2px}.field-input{width:100%;padding:16px;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:16px;font-family:Montserrat,sans-serif;color:#000000de;background:#FFFFFF;transition:all .2s ease}.field-input::placeholder{color:#0006}.field-input:focus{outline:none;border-color:#339432e6;background:rgba(51,148,50,.02)}.field-input.otp-style{letter-spacing:12px;text-align:center;font-size:24px;font-weight:600}.password-field{position:relative}.password-toggle-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:#0006;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle-btn:hover{color:#0009}.checkbox-field{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-field input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:rgba(51,148,50,.9)}.checkbox-field span{font-size:14px;color:#000000b3}.info-banner{display:flex;align-items:center;gap:12px;padding:16px;background:rgba(51,148,50,.08);border-radius:12px;color:#339432e6;font-size:14px;line-height:1.5}.info-banner svg{flex-shrink:0}.code-hint{font-size:14px;color:#00000080;text-align:center}.resend-link{background:none;border:none;color:#339432e6;font-size:14px;font-weight:600;cursor:pointer;padding:8px;text-align:center;transition:opacity .2s ease}.resend-link:hover{opacity:.8;text-decoration:underline}.error-banner{display:flex;align-items:center;gap:12px;padding:16px;background:rgba(225,85,74,.1);border-radius:12px;color:#e1554a;font-size:14px;line-height:1.5}.error-banner svg{flex-shrink:0}.action-buttons{display:flex;gap:12px;margin-top:auto;padding-top:24px}.btn-primary,.btn-secondary{flex:1;padding:18px 24px;border-radius:12px;font-size:16px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:rgba(51,148,50,.9);color:#fff;box-shadow:0 4px 12px #33943240}.btn-primary:hover:not(:disabled){background:#2d8043;transform:translateY(-2px);box-shadow:0 6px 16px #3394324d}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #33943233}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:rgba(0,0,0,.05);color:#000000b3}.btn-secondary:hover:not(:disabled){background:rgba(0,0,0,.08)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-spinner{animation:spin 1s linear infinite}@media (max-width: 480px){.add-device-container{padding:0 20px 32px}.step-title{font-size:28px}.step-icon-circle{width:64px;height:64px}.step-icon-circle svg{width:28px;height:28px}}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #1E3E28;--color-bg: #F5FDF6;--color-surface: #FFFFFF;--color-alert: #E1554A;--color-alert-bg: #FDE9E7;--color-success: rgba(51, 148, 50, .9);--color-border: #E8F1EA;--color-muted: #8BA797;--color-muted-alt: #6F8876;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-elev: 0 4px 8px rgba(0,0,0,.05);--shadow-press: 0 2px 4px rgba(0,0,0,.08);--font-display: "Abril Fatface", serif;--font-body: "Montserrat", "Inter", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--transition-fast: .16s cubic-bezier(.4,0,.2,1);--transition-med: .28s cubic-bezier(.4,0,.2,1);--ph-bar-width: 10px}.icon-circle{width:40px;height:40px;border-radius:50%;background:rgba(51,148,50,.1);border:1px solid rgba(51,148,50,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}html{font-family:var(--font-body)}body{background:var(--color-bg)}.mobile-top-bar{position:fixed;top:0;left:0;right:0;height:64px;background:#ffffff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:1000;box-shadow:0 2px 8px #0000000a,0 1px 2px #0000000f}.mobile-top-bar-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.mobile-top-bar-right{display:flex;align-items:center;gap:8px}.mobile-top-bar-icon{width:44px;height:44px;border-radius:50%;background:rgba(51,148,50,.08);border:none;display:flex;align-items:center;justify-content:center;color:#339432e6;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;flex-shrink:0}.mobile-top-bar-icon:hover{background:rgba(51,148,50,.12)}.mobile-top-bar-icon:active{background:rgba(51,148,50,.16);transform:scale(.94)}.mobile-top-bar-icon.syncing{background:rgba(51,148,50,.12)}.mobile-top-bar-icon.syncing svg{animation:spin 1s ease-in-out infinite}.mobile-top-bar-bell{position:relative}.mobile-top-bar-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;background:#ef5350;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;padding:0 4px;border:2px solid #ffffff;box-shadow:0 1px 3px #0003;line-height:1}.mobile-top-bar-profile{width:44px;height:44px;border-radius:50%;background:rgba(51,148,50,.08);border:2px solid rgba(51,148,50,.15);display:flex;align-items:center;justify-content:center;color:#339432e6;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;padding:0;flex-shrink:0}.mobile-top-bar-profile:active{transform:scale(.94);border-color:#3394324d}.mobile-top-bar-profile-img{width:100%;height:100%;object-fit:cover}.mobile-top-bar-name{font-size:15px;font-weight:600;color:#111111de;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;line-height:1.2}.dashboard-root{min-height:100vh;padding-top:64px;padding-bottom:80px;background:#F5FDF6;display:flex;flex-direction:column}.dash-header{padding:var(--space-4) var(--space-4) var(--space-2);display:none;justify-content:space-between;align-items:center;background:var(--color-bg);position:relative;z-index:1;margin-bottom:var(--space-4)}.dash-header-title{font-family:Abril Fatface,serif;font-size:32px;font-weight:400;color:#111111db;display:flex;align-items:center;gap:8px;margin:0}.dash-header-title svg{display:none}.dash-header-settings{background:none;border:none;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast)}.dash-header-settings:active{background:rgba(50,168,109,.1)}.device-carousel-section{position:relative;width:100%;margin:0;padding:16px 0;background:transparent}.device-carousel-container{position:relative;width:100vw;margin-left:calc(-50vw + 50%);overflow:visible}.device-carousel{display:flex;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;gap:0;padding:8px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}.device-carousel::-webkit-scrollbar{display:none}.device-carousel-card{flex:0 0 100vw;display:flex;justify-content:center;align-items:center;padding:0 24px;scroll-snap-align:center;scroll-snap-stop:always}.device-carousel-card>div:first-child{position:relative;width:calc(100% - 48px);max-width:440px;height:280px;background:transparent;border-radius:24px;overflow:visible;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.device-carousel-card:only-child>div:first-child{width:100%;max-width:520px}.device-carousel-card:hover>div:first-child{transform:translateY(-4px)}.device-carousel-card:active>div:first-child{transform:translateY(-2px) scale(.98)}.device-carousel-card-image{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);overflow:hidden;border-radius:24px}.device-carousel-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.device-carousel-card:hover .device-carousel-card-image img{transform:scale(1.05)}.device-carousel-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;color:#fff;z-index:2;border-radius:24px}.device-carousel-loading .spin{animation:spin 1s linear infinite}.device-carousel-card-overlay{position:absolute;bottom:16px;left:16px;right:16px;z-index:3}.device-carousel-card-info{background:rgba(255,255,255,.98);border-radius:18px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 12px 32px #0000001f,0 4px 12px #00000014;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s ease}.device-carousel-card:hover .device-carousel-card-info{box-shadow:0 16px 40px #00000024,0 6px 16px #0000001a;transform:translateY(-2px)}.device-carousel-card-text{flex:1;min-width:0}.device-carousel-card-name{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 4px;line-height:1.3;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-carousel-card-id{font-size:13px;color:#00000080;margin:0;line-height:1.4;font-weight:400;letter-spacing:.1px}.device-carousel-card-arrow{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:rgba(51,148,50,.1);border:none;display:flex;align-items:center;justify-content:center;color:#339432e6;flex-shrink:0;cursor:pointer;transition:all .2s ease}.device-carousel-card-arrow:hover{background:rgba(51,148,50,.15);transform:scale(1.1)}.device-carousel-card-arrow:active{transform:scale(.95)}.device-carousel-dots{display:flex;gap:4px;justify-content:center;align-items:center;padding:0 16px;height:16px;margin-top:8px}.device-carousel-dot{width:6px;height:6px;min-height:6px;max-height:6px;border-radius:50%;background:rgba(0,0,0,.2);border:none;padding:0;cursor:pointer;transition:background .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;outline:none}.device-carousel-dot:hover{background:rgba(0,0,0,.3)}.device-carousel-dot:active{background:rgba(0,0,0,.35)}.device-carousel-dot.active{width:16px;height:6px;min-height:6px;max-height:6px;border-radius:3px;background:rgba(51,148,50,.9)}.device-carousel-dot.active:hover{background:rgba(51,148,50,1)}.device-carousel-dots:has(.device-carousel-dot:only-child){justify-content:center}@media (min-width: 480px){.device-carousel-card{padding:0 32px}.device-carousel-card>div:first-child{width:calc(100% - 64px);height:300px;max-width:460px}.device-carousel-card-name{font-size:19px}.device-carousel-card-id{font-size:14px}.device-carousel-card-arrow{width:38px;height:38px;min-width:38px;min-height:38px}.device-carousel-dot.active{width:20px}}@media (min-width: 768px){.device-carousel-section{padding:20px 0}.device-carousel-card{padding:0 48px}.device-carousel-card>div:first-child{width:calc(100% - 96px);height:340px;max-width:500px}.device-carousel-card-overlay{bottom:20px;left:20px;right:20px}.device-carousel-card-info{padding:20px 24px}.device-carousel-card-name{font-size:20px}.device-carousel-card-arrow{width:40px;height:40px;min-width:40px;min-height:40px}.device-carousel-dots{margin-top:8px}.device-carousel-dot.active{width:24px}}@media (min-width: 1024px){.device-carousel-section{padding:24px 0}.device-carousel-card{padding:0 80px}.device-carousel-card>div:first-child{width:calc(100% - 160px);max-width:560px;height:360px}.device-carousel-card-overlay{bottom:24px;left:24px;right:24px}.device-carousel-card-info{padding:22px 26px}.device-carousel-card-name{font-size:21px}.device-carousel-card-id{font-size:15px}.device-carousel-card-arrow{width:42px;height:42px;min-width:42px;min-height:42px}.device-carousel-dots{margin-top:8px}.device-carousel-dot{width:7px;height:7px;min-height:7px;max-height:7px}.device-carousel-dot.active{width:28px;height:7px;min-height:7px;max-height:7px}}.device-carousel-card:focus-within{outline:none}.device-carousel-card:focus{outline:none}.device-carousel-dot:focus{outline:2px solid rgba(51,148,50,.6);outline-offset:3px}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000014,0 2px 6px #0000000a,0 1px 2px #00000005;padding:var(--space-4);position:relative;overflow:hidden}.card.tap{cursor:pointer}.card.tap:active{transform:translateY(2px);box-shadow:0 2px 6px #0000000f,0 1px 3px #00000008}.alert-card{position:relative}.alert-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.alert-card-title{font-size:13px;font-weight:500;color:var(--color-muted);margin:0 0 var(--space-2)}.alert-card-message{font-size:18px;font-weight:700;color:#111111db;line-height:1.3}.alert-card-expand{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--transition-fast)}.alert-card-expand:hover{background:rgba(0,0,0,.04)}.alert-card-expand:active{transform:scale(.9)}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width:360px){.status-grid{grid-template-columns:1fr}}.status-box{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-elev);padding:var(--space-4);display:flex;flex-direction:column;gap:12px;position:relative}.status-box-content{display:flex;flex-direction:column;gap:6px}.status-label{font-size:13px;font-weight:500;color:var(--color-muted);line-height:1.4}.status-value{font-size:18px;font-weight:700;color:#111111db;line-height:1.3}.status-online{color:#111111db}.nutrient-card{display:flex;flex-direction:column;gap:12px}.nutrient-title{font-size:13px;font-weight:500;color:var(--color-muted);margin:0;line-height:1.4}.nutrient-status{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#111111db;line-height:1.3}.nutrient-text{flex:1}.ph-card{display:flex;flex-direction:column;gap:12px;padding:16px;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-elev)}.ph-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ph-card-title{font-size:15px;font-weight:700;color:var(--color-primary);flex:1;min-width:100px;display:flex;align-items:center;gap:8px}.ph-card-title svg{flex-shrink:0}.range-switch{font-size:11px;background:rgba(139,167,151,.1);border:none;padding:5px 12px;border-radius:6px;color:var(--color-secondary);cursor:pointer;font-weight:500;white-space:nowrap;transition:background .2s}.range-switch:hover{background:rgba(139,167,151,.15)}.ph-legend{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--color-secondary);margin-bottom:8px;font-weight:500;flex-wrap:wrap}.ph-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.ph-legend-label{font-weight:500;white-space:nowrap}.ph-chart-container{display:flex;gap:6px;align-items:stretch;min-height:180px;width:100%;position:relative}.ph-y-axis{display:flex;flex-direction:column;justify-content:space-between;padding:6px 0 32px;min-width:28px;max-width:35px;flex-shrink:0}.ph-y-label{font-size:8px;color:var(--color-muted);font-weight:500;line-height:1;text-align:right;padding-right:2px}.ph-bars{display:flex;align-items:flex-end;gap:1px;height:150px;flex:1;padding:0;justify-content:space-between;min-height:150px;position:relative;margin-bottom:24px;z-index:2}.ph-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:4px;max-width:25px;height:100%;position:relative}.ph-bar{width:100%;background:var(--color-primary);border-radius:3px 3px 0 0;transform-origin:bottom;animation:growBar .8s ease forwards;min-height:6px;box-shadow:0 -2px 4px #33943233}.ph-x-axis{position:absolute;bottom:0;left:34px;right:0;display:flex;justify-content:space-between;padding:4px 0 0;margin:0;gap:1px;flex-wrap:nowrap;overflow:visible}.ph-x-label{flex:1;text-align:center;font-size:7px;color:var(--color-muted);font-weight:500;white-space:nowrap;line-height:1.2;max-width:25px;overflow:hidden;text-overflow:ellipsis}.ph-x-label:last-child{margin-right:0}@keyframes growBar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.ph-nav-btn{transition:all .2s ease;white-space:nowrap;padding:6px 10px;font-size:10px;border-radius:6px;background:rgba(139,167,151,.08);border:1px solid rgba(139,167,151,.15);color:var(--color-secondary);cursor:pointer}.ph-nav-btn:hover:not(:disabled){background-color:#8ba7971f!important;border-color:#8ba79740!important}.ph-nav-btn:disabled{opacity:.4;cursor:not-allowed}.ph-chart-area{position:relative;height:150px;flex:1;min-height:150px;display:flex;flex-direction:column}.ph-grid-horizontal,.ph-grid-vertical{position:absolute;top:0;left:0;right:0;bottom:24px;pointer-events:none;z-index:1}.ph-grid-horizontal,.ph-grid-vertical{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.ph-grid-horizontal{display:flex;flex-direction:column;justify-content:space-between}.ph-grid-vertical{display:flex;justify-content:space-between}.ph-bar-wrapper{position:relative;transition:all .2s ease}.ph-bar-wrapper:hover{transform:translateY(-2px);z-index:10}.ph-bar-wrapper:hover .ph-bar{filter:brightness(1.1);box-shadow:0 -4px 8px #3394324d}.ph-bar-wrapper:hover:after{content:attr(aria-label);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:rgba(0,0,0,.85);color:#fff;padding:4px 7px;border-radius:4px;font-size:9px;font-weight:600;white-space:nowrap;z-index:20;pointer-events:none;box-shadow:0 2px 8px #0003}@media (max-width: 359px){.ph-card{padding:12px;gap:10px}.ph-card-title{font-size:13px}.range-switch{font-size:10px;padding:4px 10px}.ph-legend{font-size:10px;gap:10px}.ph-chart-container{gap:5px;min-height:150px}.ph-y-axis{min-width:26px;max-width:30px;padding:4px 0 28px}.ph-y-label{font-size:7px;padding-right:1px}.ph-bars{height:120px;min-height:120px;margin-bottom:22px;gap:1px}.ph-chart-area{height:120px;min-height:120px}.ph-grid-horizontal,.ph-grid-vertical{bottom:22px}.ph-bar-wrapper{min-width:3px;max-width:18px}.ph-x-axis{left:31px;padding:3px 0 0}.ph-x-label{font-size:6px;max-width:18px}.ph-nav-btn{font-size:9px;padding:4px 8px}.ph-bar-wrapper:hover:after{font-size:8px;padding:3px 5px}}@media (min-width: 360px) and (max-width: 479px){.ph-card{padding:14px;gap:11px}.ph-card-title{font-size:14px}.ph-chart-container{gap:6px;min-height:170px}.ph-y-axis{padding:5px 0 26px}.ph-bars{height:140px;min-height:140px;margin-bottom:23px}.ph-chart-area{height:140px;min-height:140px}.ph-grid-horizontal,.ph-grid-vertical{bottom:23px}.ph-bar-wrapper{max-width:22px}.ph-x-axis{left:34px}.ph-x-label{font-size:7px;max-width:22px}}@media (min-width: 480px) and (max-width: 767px){.ph-card{padding:16px;gap:12px}.ph-card-title{font-size:15px}.range-switch{font-size:11px;padding:5px 12px}.ph-legend{font-size:11px}.ph-chart-container{gap:7px;min-height:190px}.ph-y-axis{min-width:30px;max-width:38px;padding:6px 0 28px}.ph-y-label{font-size:8px}.ph-bars{height:160px;min-height:160px;margin-bottom:24px}.ph-chart-area{height:160px;min-height:160px}.ph-grid-horizontal,.ph-grid-vertical{bottom:24px}.ph-bar-wrapper{max-width:28px}.ph-x-axis{left:37px;padding:4px 0 0}.ph-x-label{font-size:8px;max-width:28px}.ph-bar-wrapper:hover:after{font-size:9px;padding:4px 6px}}@media (min-width: 768px){.ph-card{padding:20px;gap:14px}.ph-card-title{font-size:16px}.range-switch{font-size:12px;padding:6px 14px}.ph-legend{font-size:12px;gap:14px}.ph-legend-dot{width:9px;height:9px}.ph-chart-container{gap:10px;min-height:230px}.ph-y-axis{min-width:36px;max-width:45px;padding:8px 0 32px}.ph-y-label{font-size:9px;padding-right:4px}.ph-bars{height:190px;min-height:190px;margin-bottom:28px;gap:2px}.ph-chart-area{height:190px;min-height:190px}.ph-grid-horizontal,.ph-grid-vertical{bottom:28px}.ph-bar-wrapper{max-width:38px}.ph-x-axis{left:46px;padding:5px 0 0}.ph-x-label{font-size:9px;max-width:38px}.ph-nav-btn{font-size:11px;padding:7px 12px}.ph-bar-wrapper:hover:after{font-size:10px;padding:5px 8px}}@media (min-width: 1024px){.ph-card{padding:24px;gap:16px}.ph-card-title{font-size:17px}.range-switch{font-size:12px;padding:7px 16px}.ph-legend{font-size:12px;gap:16px}.ph-legend-dot{width:10px;height:10px}.ph-chart-container{gap:12px;min-height:260px}.ph-y-axis{min-width:40px;max-width:50px;padding:10px 0 36px}.ph-y-label{font-size:10px;padding-right:5px}.ph-bars{height:220px;min-height:220px;margin-bottom:32px;gap:2px}.ph-chart-area{height:220px;min-height:220px}.ph-grid-horizontal,.ph-grid-vertical{bottom:32px}.ph-bar-wrapper{max-width:45px}.ph-x-axis{left:52px;padding:6px 0 0}.ph-x-label{font-size:10px;max-width:45px}.ph-nav-btn{font-size:12px;padding:8px 14px}.ph-bar-wrapper:hover:after{font-size:11px;padding:6px 10px}}.current-ph-card{background:linear-gradient(135deg,rgba(51,148,50,.05) 0%,rgba(255,255,255,1) 100%);border:1px solid rgba(51,148,50,.1);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-elev);display:flex;flex-direction:column;gap:14px;overflow:hidden}.ph-value-container{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.ph-value-main{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.ph-number{font-size:28px;font-weight:800;color:var(--color-primary);line-height:1}.ph-unit{font-size:14px;font-weight:600;color:var(--color-secondary);opacity:.7}.ph-status-indicator{display:flex;align-items:center;gap:7px;flex-shrink:0}.ph-status-dot{width:7px;height:7px;border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}.ph-status-dot.optimal{background-color:#10b981;box-shadow:0 0 0 3px #10b98133}.ph-status-dot.warning{background-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.ph-status-dot.critical{background-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c33}.ph-status-dot.none{background-color:#8ba797;box-shadow:0 0 0 3px #8ba79733}.ph-status-text{font-size:11px;font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.ph-info-section{display:flex;flex-direction:column;gap:10px}.ph-label-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ph-label{font-size:12px;font-weight:500;color:var(--color-muted)}.ph-range-indicator{display:flex;flex-direction:column;gap:5px;width:100%}.range-bar{position:relative;height:5px;background:linear-gradient(to right,#ef4444 0%,#f59e0b 20%,#10b981 30%,#10b981 70%,#f59e0b 80%,#ef4444 100%);border-radius:3px;width:100%}.optimal-range{position:absolute;left:0%;width:33.33%;height:100%;background:rgba(16,185,129,.3);border-radius:3px;border:1px solid rgba(16,185,129,.5)}.current-marker{position:absolute;top:-2px;width:9px;height:9px;background:white;border:2px solid var(--color-primary);border-radius:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000001a}.range-labels{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--color-muted);font-weight:500}@media (max-width: 359px){.current-ph-card{padding:12px;gap:10px}.ph-value-container{gap:10px}.ph-number{font-size:22px}.ph-unit{font-size:12px}.ph-status-dot{width:6px;height:6px}.ph-status-text{font-size:9px}.ph-label{font-size:10px}.range-labels{font-size:7px}.range-bar{height:4px}.current-marker{width:8px;height:8px}}@media (min-width: 360px) and (max-width: 479px){.current-ph-card{padding:14px;gap:12px}.ph-number{font-size:24px}.ph-unit{font-size:13px}.ph-status-text{font-size:10px}.range-labels{font-size:8px}}@media (min-width: 768px){.current-ph-card{padding:20px;gap:16px}.ph-value-container{gap:16px}.ph-number{font-size:32px}.ph-unit{font-size:16px}.ph-status-dot{width:8px;height:8px;box-shadow:0 0 0 4px #10b98133}.ph-status-dot.warning{box-shadow:0 0 0 4px #f59e0b33}.ph-status-dot.critical{box-shadow:0 0 0 4px #e74c3c33}.ph-status-dot.none{box-shadow:0 0 0 4px #8ba79733}.ph-status-text{font-size:12px}.ph-label{font-size:13px}.range-labels{font-size:10px}.range-bar{height:6px}.current-marker{width:10px;height:10px}}@media (min-width: 1024px){.current-ph-card{padding:24px;gap:18px}.ph-number{font-size:36px}.ph-unit{font-size:17px}.ph-status-text{font-size:13px}.ph-label{font-size:14px}.range-labels{font-size:11px}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.sensor-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.sensor-grid>.sensor-cell:nth-child(5){grid-column:1 / -1}@media (max-width:360px){.sensor-grid{grid-template-columns:1fr}.sensor-grid>.sensor-cell:nth-child(5){grid-column:auto}}.sensor-cell{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-elev);padding:var(--space-4);display:flex;flex-direction:column;gap:12px;position:relative}.sensor-cell-content{display:flex;flex-direction:column;gap:4px}.sensor-label{font-size:13px;font-weight:500;color:var(--color-muted);line-height:1.4}.sensor-value{font-size:18px;font-weight:700;color:#111111db;line-height:1.3}.sensor-critical{color:var(--color-alert)}.sensor-ok{color:var(--color-success)}.environment-card{display:flex;flex-direction:column;gap:var(--space-3)}.environment-title{font-size:14px;font-weight:600;margin:0 0 8px;color:#111111db}.environment-list{display:flex;flex-direction:column;gap:12px}.environment-row{display:flex;align-items:center;gap:12px}.environment-label{font-size:13px;font-weight:500;color:var(--color-muted);flex:1}.environment-value{font-size:18px;font-weight:700;color:#111111db;line-height:1.3}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;z-index:1600}.tap-feedback{position:relative;overflow:hidden}.tap-feedback:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(50,168,109,.25),transparent 60%);opacity:0;transition:opacity .6s}.tap-feedback:active:after{opacity:1;transition:opacity .3s}.floating-action-button{position:fixed;width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:grab;box-shadow:0 4px 12px #3394324d;z-index:100;transition:transform .2s ease,box-shadow .2s ease;touch-action:none;-webkit-user-select:none;user-select:none}.floating-action-button:not(.dragging){animation:fab-pulse 2s infinite}.floating-action-button:hover{transform:scale(1.05);box-shadow:0 6px 16px #33943266}.floating-action-button:active,.floating-action-button.dragging{cursor:grabbing;transform:scale(1.1);box-shadow:0 8px 20px #33943280}@keyframes fab-pulse{0%,to{box-shadow:0 4px 12px #3394324d}50%{box-shadow:0 4px 16px #33943280}}.dash-main{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4) var(--space-6);margin-top:0}@media (min-width:768px){.mobile-top-bar{display:none}.dash-header{display:flex}.dashboard-root{max-width:1200px;margin:0 auto;padding-top:0}.dash-header{padding:var(--space-5) var(--space-6)}.dash-header-title{font-size:32px}.device-carousel-wrapper{margin-top:24px;margin-bottom:28px}.device-carousel{gap:16px;padding:0 var(--space-6)}.device-card{flex:0 0 calc(50% - 8px);max-width:480px;height:340px}.dash-main{max-width:800px;margin:0 auto 90px;padding:0 var(--space-6) var(--space-6);gap:var(--space-5)}.status-grid{gap:var(--space-4)}.status-box{padding:var(--space-5)}.sensor-grid{gap:var(--space-4)}.sensor-cell{padding:var(--space-5)}.environment-list{gap:var(--space-4)}.card{padding:var(--space-5)}.ph-bars{height:240px}}@media (min-width:1024px){.bottom-nav{display:none}.dashboard-root{max-width:100%;padding-top:0;padding-bottom:0}.dash-header{padding:var(--space-6) var(--space-6) var(--space-4);margin-bottom:0}.dash-header-title{font-size:36px}.dash-main{max-width:100%;margin:0;padding:0 var(--space-6) var(--space-6);gap:var(--space-6);display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:row;grid-gap:var(--space-5)}.device-carousel-section,.alert-card{grid-column:1 / -1}.status-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.nutrient-card{grid-column:1 / 7}.current-ph-card{grid-column:7 / -1}.ph-card{grid-column:1 / -1}.ph-bars,.ph-chart-area{height:300px;min-height:300px}.sensor-grid{grid-column:1 / -1;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.sensor-grid>.sensor-cell:nth-child(5){grid-column:span 1}.environment-card{grid-column:1 / -1}.environment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}.card{padding:var(--space-6);border-radius:18px}.status-box,.sensor-cell{padding:var(--space-5);border-radius:16px}.device-carousel{gap:20px}}@media (max-height:600px) and (min-width:700px){.dashboard-root{padding-bottom:70px}.dash-header{padding:var(--space-3) var(--space-5)}.dash-header-title{font-size:24px}.device-carousel-wrapper{margin-top:var(--space-2);margin-bottom:var(--space-2)}.device-card{height:180px}.dash-main{gap:var(--space-3);margin-top:0}.card{padding:var(--space-3)}.ph-bars{height:180px}}@media (min-width:1440px){.dash-main{max-width:1400px;margin:0 auto;padding:0 var(--space-6) var(--space-6);gap:var(--space-6)}.dash-header{max-width:1400px;margin:0 auto}.sensor-grid{grid-template-columns:repeat(4,1fr)}.sensor-grid>.sensor-cell:nth-child(5){grid-column:2 / 4}.ph-bars,.ph-chart-area{height:340px;min-height:340px}}.alert-notification-badge,.nav-notification-badge{background-color:var(--color-alert)!important;color:#fff!important;border-radius:50%!important;font-size:10px!important;font-weight:700!important;border:2px solid white!important;box-shadow:0 2px 4px #0003!important;z-index:10!important;animation:pulseAlert 2s infinite ease-in-out}@keyframes pulseAlert{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.nav-item,.icon-circle{position:relative!important}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.alert-notification-badge,.nav-notification-badge{animation:none!important}}.ph-nav-btn{transition:all .2s ease!important;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.ph-nav-btn:not(:disabled):hover{background:rgba(51,148,50,.15)!important;border-color:#33943266!important;transform:translateY(-1px);box-shadow:0 2px 4px #3394321a}.ph-nav-btn:not(:disabled):active{transform:translateY(0);box-shadow:0 1px 2px #33943226}.ph-nav-btn:disabled{cursor:not-allowed!important;pointer-events:none}.monitoring-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:64px;background:rgba(0,0,0,.5);z-index:1500;display:flex;align-items:flex-end;animation:fadeIn .25s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.monitoring-modal-content{background:white;width:100%;max-height:calc(100vh - 84px);border-radius:24px 24px 0 0;padding:16px 24px 24px;box-shadow:0 -8px 32px #00000026,0 -2px 8px #0000001a;animation:slideUp .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;position:relative;touch-action:pan-y;border-top:3px solid var(--color-primary)}@keyframes slideUp{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}.monitoring-modal-handle{width:48px;height:5px;background:linear-gradient(90deg,#cbd5e0 0%,#a0aec0 100%);border-radius:3px;margin:0 auto 24px;cursor:grab;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.monitoring-modal-handle:active{cursor:grabbing;transform:scaleX(.95);background:#a0aec0}.monitoring-modal-header{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:20px}.monitoring-modal-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,rgba(51,148,50,.12) 0%,rgba(51,148,50,.08) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #33943233;border:2px solid rgba(51,148,50,.15)}.monitoring-modal-icon svg{width:32px;height:32px}.monitoring-modal-title{font-size:22px;font-weight:700;color:#1a202c;margin:0;text-align:center;letter-spacing:-.3px}.monitoring-modal-value{font-size:36px;font-weight:700;background:linear-gradient(135deg,var(--color-primary) 0%,#2d8040 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin:12px 0 28px;letter-spacing:-1px}.monitoring-modal-divider{height:2px;background:linear-gradient(90deg,transparent 0%,rgba(51,148,50,.1) 10%,#e2e8f0 50%,rgba(51,148,50,.1) 90%,transparent 100%);margin:28px 0;border-radius:1px}.monitoring-modal-section{margin-bottom:28px;padding:20px;background:linear-gradient(135deg,rgba(51,148,50,.02) 0%,transparent 100%);border-radius:14px;border:1px solid rgba(0,0,0,.04)}.monitoring-modal-section-title{font-size:17px;font-weight:700;color:#2d3748;margin:0 0 14px;display:flex;align-items:center;gap:10px;letter-spacing:-.2px}.monitoring-modal-section-title:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,var(--color-primary) 0%,#2d8040 100%);border-radius:2px;box-shadow:0 2px 4px #33943233}.monitoring-modal-text{font-size:15px;line-height:1.7;color:#4a5568;margin:0;text-align:justify;font-weight:500}@media (min-width: 768px){.monitoring-modal-content{max-width:540px;margin:0 auto;border-radius:24px;max-height:85vh;border-top:none;border:2px solid rgba(51,148,50,.15)}.monitoring-modal-overlay{align-items:center;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.monitoring-modal-handle{display:none}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}}@media (min-width: 1024px){.monitoring-modal-overlay{display:none}}.global-loading-container{display:flex;justify-content:center;align-items:center;height:60vh;min-height:300px;flex-direction:column;gap:1rem;animation:globalFadePulse 2.4s ease-in-out infinite}.global-loading-spinner{animation:spin 1s linear infinite!important;will-change:transform;display:inline-block}.global-loading-spinner>svg{animation:spin 1s linear infinite;display:block}.global-loading-text{color:#666;font-size:1rem;animation:globalShimmerText 3s linear infinite;background:linear-gradient(90deg,#666 0%,#999 50%,#666 100%);background-clip:text;-webkit-background-clip:text;color:transparent;background-size:300% 100%;margin:0;font-weight:500}@keyframes globalFadePulse{0%,to{opacity:.85}50%{opacity:1}}@keyframes globalShimmerText{0%{background-position:0% 50%}to{background-position:100% 50%}}.global-loading-container.full-height{height:100vh}.global-loading-container.page-height{height:calc(100vh - 120px)}@media (max-width: 768px){.global-loading-container{height:50vh;min-height:250px}.global-loading-text{font-size:.9rem}}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #1E3E28;--color-bg: #F5FDF6;--color-surface: #FFFFFF;--color-border: #E8F1EA;--color-muted: #8BA797;--radius-lg: 16px;--radius-2xl: 20px;--shadow: 0 8px 24px rgba(0,0,0,.08);--sidebar-width: 260px;--admin-bottom-nav-height: 64px;--admin-bottom-extra-gap: 72px}html{font-family:Montserrat,Inter,system-ui,sans-serif}.admin-root{display:flex;min-height:100vh;background:var(--color-bg);color:#111;position:relative}.admin-sidebar{display:none;width:var(--sidebar-width);background:linear-gradient(180deg,#2f8d2e 0%,#2bb35e 100%);border-right:1px solid rgba(255,255,255,.08);padding:24px 16px;color:#fff;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:8px 12px;color:#fff;margin-bottom:20px;min-height:64px}.brand-logo{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(255,255,255,.15);flex-shrink:0;position:relative}.brand-logo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;max-width:100%;max-height:100%}.brand-text{display:flex;flex-direction:column;flex:1;min-width:0}.brand-name{font-family:Montserrat,sans-serif;font-size:22px;font-weight:700;letter-spacing:.3px;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-subtitle{font-family:Montserrat,sans-serif;font-size:13px;font-weight:500;color:#ffffffd9;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav-label{font-size:12px;font-weight:700;color:#fff9;letter-spacing:1px;text-transform:uppercase;margin:20px 14px 10px}.side-nav{display:flex;flex-direction:column;gap:6px;margin-top:18px}.side-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:#ffffffe6;font-weight:600;font-size:15px;transition:all .2s ease;text-decoration:none;white-space:nowrap}.side-link:hover{background:rgba(255,255,255,.1);transform:translate(2px)}.side-link.active{background:rgba(255,255,255,.2);border-color:#ffffff26;color:#fff;box-shadow:0 2px 8px #0000001a}.system-status{display:flex;align-items:center;gap:10px;padding:14px;margin-top:auto;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;box-shadow:inset 0 1px #ffffff14}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.online{background:#ffffff;box-shadow:0 0 0 4px #ffffff2e}.status-title{font-size:13px;font-weight:800;color:#fff}.status-sub{font-size:12px;color:#ffffffd9}.admin-main{flex:1;display:flex;flex-direction:column;padding:20px;padding-bottom:calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap) + env(safe-area-inset-bottom,0px));gap:20px;max-width:1400px;margin:0 auto;width:100%;min-width:0}@media (max-width: 1023.98px){.admin-main:after{content:"";display:block;height:calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap) + env(safe-area-inset-bottom,0px));width:100%;flex-shrink:0}}.admin-bottom-nav{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,#2f8d2e 0%,#2bb35e 100%);padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));height:calc(64px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 12px #00000026;z-index:1600;gap:8px}@media (max-width: 425px){.admin-bottom-nav{padding-left:10px;padding-right:10px;gap:6px}.bn-item{padding:6px 8px}}.bn-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:8px 12px;border-radius:12px;transition:all .2s;flex:1;max-width:80px}.bn-item:hover{background:rgba(255,255,255,.1);color:#fffffff2}.bn-item.active{background:rgba(255,255,255,.2);color:#fff}.bn-item span{font-size:11px;font-weight:600}@media (min-width: 1024px){.admin-sidebar{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;height:100vh;overflow-y:auto;z-index:1600}.admin-bottom-nav{display:none}.admin-main{padding:32px 40px 40px;margin-left:var(--sidebar-width)}}@media (max-width: 1023.98px){.admin-main{padding-bottom:calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap) + env(safe-area-inset-bottom,0px))}}@media (min-width: 768px) and (max-width: 1023.98px){.admin-main{padding:24px 32px calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap) + env(safe-area-inset-bottom,0px))}}@media (max-width: 767.98px){.admin-main{padding:16px 16px calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap) + env(safe-area-inset-bottom,0px))}.brand{min-height:56px}.brand-logo{width:40px;height:40px;min-width:40px;min-height:40px}.brand-name{font-size:18px}.brand-subtitle{font-size:12px}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.confirm-modal{background:#fff;width:100%;max-width:520px;border-radius:16px;border:1px solid var(--color-border);box-shadow:var(--shadow);padding:20px 24px}.confirm-modal h3{margin:0 0 8px;font-size:20px;font-weight:800}.confirm-modal p{margin:0 0 16px;color:#4b5563;line-height:1.6}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{border:2px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.confirm-primary{background:var(--color-primary-solid);color:#fff}.confirm-secondary{background:#f3f4f6;color:#374151}@media (max-width: 380px){.bn-item span{font-size:10px}}@media (max-width: 340px){.bn-item span{display:none}.bn-item{max-width:none;padding:10px}}.admin-header{padding:8px 4px 0}.admin-title{font-family:Abril Fatface,serif;font-size:40px;margin:0;color:#111111e7;font-weight:700}.admin-sub{margin:3px 0 0;color:#6f8876;font-weight:500}.summary-grid{display:grid;grid-template-columns:1fr;gap:16px}.summary-card{position:relative;background:#fff;border-radius:16px;border:1px solid var(--color-border);box-shadow:0 2px 12px #0000000a;padding:20px;overflow:hidden;display:flex;flex-direction:column;gap:14px}.summary-card .icon-wrapper{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center}.summary-card .icon-wrapper.green{background:rgba(46,183,46,.12);color:#2eb72e}.summary-card .icon-wrapper.yellow{background:rgba(255,193,7,.12);color:#ffc107}.summary-card .icon-wrapper.cyan{background:rgba(0,188,212,.12);color:#00bcd4}.summary-growth{position:absolute;top:16px;right:16px;background:rgba(46,183,46,.08);color:#2eb72e;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;display:flex;align-items:center;gap:6px}.summary-title{font-size:13px;letter-spacing:.3px;color:#8ba797;font-weight:600;text-transform:uppercase;margin:0;order:1}.summary-value{font-size:42px;font-weight:900;line-height:1;margin:0;order:2;color:#111}.summary-progress{height:8px;background:#f1f5f3;border-radius:999px;overflow:hidden;order:3}.summary-progress .fill{height:100%;background:#2eb72e;border-radius:999px}.summary-caption{color:#8ba797;font-size:13px;font-weight:500;margin:0;order:4}.view-all{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:2px solid var(--color-border);border-radius:999px;color:#274232;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}.view-all:hover{background:#2eb72e;border-color:#2eb72e;color:#fff;box-shadow:0 4px 12px #2eb72e4d;transform:translateY(-2px)}.middle-grid{display:grid;grid-template-columns:1fr;gap:16px}.panel{background:#fff;border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:10px}.panel-title{display:flex;align-items:center;gap:10px;font-weight:800;color:#163622;font-size:16px}.panel-body{padding:16px}.line-chart{width:100%;height:auto;display:block}.quick-actions{display:flex;flex-direction:column;gap:12px;padding:16px 18px;flex:1}.qa-btn{display:flex;align-items:center;justify-content:flex-start;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;font-weight:600;font-size:15px;color:#111;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:all .2s;flex:1;min-height:60px}.qa-btn:hover{background:#fafafa;border-color:#d1d5db;box-shadow:0 2px 4px #0000000f}.export-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid var(--color-border);border-radius:999px;color:#274232;font-weight:700}.export-btn:hover{background:rgba(51,148,50,.06)}.lower-grid{display:grid;grid-template-columns:1fr;gap:16px}.alerts-list{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px}.alert-card{position:relative;border-radius:12px;border:1px solid var(--color-border);padding:16px 16px 16px 20px;box-shadow:0 1px 3px #0000000a;background:#fff;overflow:hidden}.alert-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0}.alert-card.critical:before{background:#e11d48}.alert-card.warning:before{background:#f59e0b}.alert-card.info:before{background:#3b82f6}.alert-card .alert-meta{color:#9ca3af;font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:6px;font-weight:500}.alert-card .alert-title{font-weight:700;margin:0 0 6px;font-size:15px}.alert-card.critical .alert-title{color:#e11d48}.alert-card.warning .alert-title{color:#f59e0b}.alert-card.info .alert-title{color:#3b82f6}.alert-card .alert-desc{color:#6b7280;font-size:14px;line-height:1.5}.alert-card .alert-badge{position:absolute;top:14px;right:14px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}.alert-card.critical .alert-badge{background:#fee2e2;color:#b91c1c}.alert-card.warning .alert-badge{background:#fef3c7;color:#b45309}.alert-card.info .alert-badge{background:#dbeafe;color:#1d4ed8}.perf-rows{display:flex;flex-direction:column;gap:16px;padding:16px 20px}.perf-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.perf-row>span{font-weight:700;font-size:15px;color:#111;min-width:130px;flex-shrink:0}.progress-row{display:flex;align-items:center;gap:14px;margin-left:auto;flex:1;min-width:200px}.progress-bar{flex:1;height:10px;background:#f1f5f3;border-radius:999px;overflow:hidden;position:relative}.progress-fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;transition:width .4s ease,background .4s ease}.progress-value{font-weight:800;color:#2eb72e;min-width:56px;text-align:right;font-size:15px}.grade-card{background:#e8f5e9;border:1px solid #d0ead3;border-radius:12px;margin:12px 20px 16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.grade-title{font-weight:800;color:#2eb72e;font-size:16px;margin:0}.grade-sub{color:#6b7280;font-size:14px;margin:4px 0 0}.grade-badge{font-weight:900;font-size:32px;color:#2eb72e;background:#fff;border:1px solid #d0ead3;border-radius:10px;padding:8px 18px;box-shadow:0 2px 8px #0000000f}.bars{display:flex;align-items:flex-end;gap:10px;padding:16px;overflow-x:auto}.bar{display:flex;flex-direction:column;align-items:center;gap:6px}.bar-fill{width:20px;border-radius:8px;background:linear-gradient(180deg,rgba(51,148,50,.9),rgba(51,148,50,.2));border:1px solid rgba(51,148,50,.25);box-shadow:0 6px 14px #33943233}.bar-label{font-size:12px;color:#6f8876}@media (min-width: 1024px){.summary-grid{grid-template-columns:repeat(4,1fr);gap:18px}.middle-grid{grid-template-columns:2fr 1fr}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alerts{grid-column:1 / 2}.performance{grid-column:2 / 3}.panel.error-reports{grid-column:1 / 3}.panel.error-reports .panel-body{height:280px!important}}@media (min-width: 768px) and (max-width: 1023.98px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.admin-title{font-size:24px}.progress-row{flex-direction:column;align-items:flex-start;margin-left:0!important;width:100%;min-width:0!important}.progress-bar{width:100%;max-width:100%;height:16px;background:#e4e9e7;border:1px solid #d0d6d3;border-radius:10px;position:relative}.progress-fill{position:absolute;top:0;left:0;height:100%;border-radius:10px;box-shadow:0 0 0 1px #0000000a}.perf-row>span{width:100%}.panel-title{font-size:15px}.summary-value{font-size:36px}}@media (max-width: 480px){.progress-row{min-width:0}.progress-bar{display:block}}@media (max-width: 420px){.perf-row{flex-direction:column;align-items:flex-start}.perf-row>span{margin-bottom:6px}.progress-row{margin-left:0!important}}@media (max-width: 320px){.summary-grid{grid-template-columns:1fr}.panel-head,.panel-body{padding:12px}.qa-btn{padding:10px 12px}}@media (max-width: 240px){.summary-card{padding:14px}.summary-value{font-size:28px}}@media (max-width: 200px){.summary-grid{gap:10px}.summary-card{padding:12px;border-radius:16px}.summary-title{font-size:11px}.summary-value{font-size:24px}.panel{border-radius:16px}.panel-head,.panel-body{padding:10px}.export-btn{padding:4px 8px}.qa-btn{padding:8px 10px;border-radius:10px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlayFadeIn .25s cubic-bezier(.4,0,.2,1)}.modal-content{background:var(--color-white);border-radius:20px;max-width:480px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d,0 8px 24px #00000026;margin:auto;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;border-bottom:1px solid rgba(0,0,0,.08);background:linear-gradient(180deg,rgba(51,148,50,.02) 0%,transparent 100%);flex-shrink:0}.modal-header h3{margin:0;font-size:22px;color:var(--color-text);font-weight:700;letter-spacing:-.3px}.modal-close{background:rgba(0,0,0,.04);border:none;cursor:pointer;color:var(--color-muted);padding:10px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.modal-footer{padding:20px 28px 24px;border-top:1px solid rgba(0,0,0,.08);display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,transparent 0%,rgba(51,148,50,.01) 100%);flex-shrink:0}.btn-cancel{background:white;color:var(--color-muted);border:1.5px solid rgba(0,0,0,.15);border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f8faf9;border-color:var(--color-muted);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.btn-confirm{background:linear-gradient(135deg,var(--color-primary) 0%,#2d8040 100%);color:var(--color-white);border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #33943240}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #33943259}.btn-confirm:active{transform:translateY(0);box-shadow:0 2px 8px #33943240}.btn-confirm.danger{background:rgba(225,85,74,.9)}.btn-confirm.danger:hover{background:#c0392b}@media (max-width: 480px){.modal-content{width:calc(100% - var(--space-2));border-radius:var(--radius-md)}.modal-body,.modal-header{padding:var(--space-4)}.modal-footer{padding:var(--space-3) var(--space-4);flex-direction:column}.btn-cancel,.btn-confirm{width:100%}}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.confirmation-modal-content{background:#fff;border-radius:16px;padding:32px;max-width:440px;width:100%;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease;text-align:center}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirmation-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:#999;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.confirmation-modal-close:hover{background:#f3f4f6;color:#333}.confirmation-modal-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.confirmation-modal-icon.warning{background:#fef3c7;color:#f59e0b}.confirmation-modal-icon.danger{background:#fee2e2;color:#dc2626}.confirmation-modal-icon.info{background:#dbeafe;color:#3b82f6}.confirmation-modal-title{font-size:22px;font-weight:700;color:#1f2937;margin-bottom:12px}.confirmation-modal-message{font-size:15px;color:#6b7280;line-height:1.6;margin-bottom:28px}.confirmation-modal-actions{display:flex;gap:12px;justify-content:center}.btn-confirm{padding:12px 28px;border:none;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;flex:1;max-width:160px}.btn-confirm.warning{background:#f59e0b;color:#fff}.btn-confirm.warning:hover{background:#d97706}.btn-confirm.danger{background:#dc2626;color:#fff}.btn-confirm.danger:hover{background:#b91c1c}.btn-confirm.info{background:#3b82f6;color:#fff}.btn-confirm.info:hover{background:#2563eb}.btn-cancel{padding:12px 28px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-weight:600;font-size:15px;color:#6b7280;cursor:pointer;transition:all .2s;flex:1;max-width:160px}.btn-cancel:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}@media (max-width: 768px){.confirmation-modal-content{padding:24px;margin:20px}.confirmation-modal-icon{width:64px;height:64px}.confirmation-modal-icon svg{width:36px;height:36px}.confirmation-modal-title{font-size:20px}.confirmation-modal-message{font-size:14px}.confirmation-modal-actions{flex-direction:column}.btn-confirm,.btn-cancel{max-width:100%}}.admin-root .admin-main{max-width:100%;padding:24px 32px;background:#fafbfc}.devices-header{padding:0;margin-bottom:28px}.devices-title{font-family:Abril Fatface,serif;font-size:36px;margin:0 0 6px;color:#0f172a;font-weight:400;letter-spacing:-.02em;background:linear-gradient(135deg,#0f172a 0%,#334155 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.devices-sub{margin:0;color:#64748b;font-weight:500;font-size:15px;line-height:1.5}.devices-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:28px}.devices-stat-card{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1.5px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.devices-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2eb72e 0%,#16a34a 100%);opacity:0;transition:opacity .3s ease}.devices-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014,0 4px 8px #0000000a;border-color:#cbd5e1}.devices-stat-card:hover:before{opacity:1}.stat-label{font-size:11px;font-weight:700;color:#64748b;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px;display:block}.stat-value{font-size:36px;font-weight:800;color:#0f172a;line-height:1;letter-spacing:-.02em}.stat-value.stat-green{background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-value.stat-orange{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-value.stat-blue{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.devices-controls{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1.5px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.search-box{position:relative;margin-bottom:20px}.search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;z-index:1}.search-input{width:100%;padding:14px 18px 14px 52px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;font-family:Montserrat,sans-serif;color:#0f172a;background:#ffffff;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a}.search-input:hover{border-color:#cbd5e1}.search-input:focus{outline:none;border-color:#2eb72e;background:#ffffff;box-shadow:0 0 0 4px #2eb72e14,0 2px 4px #0000000f}.search-input::placeholder{color:#94a3b8}.filter-section{margin-top:20px}.filter-section:first-of-type{margin-top:0}.filter-label{font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;display:block}.filter-tab{padding:10px 18px;border:2px solid #e2e8f0;border-radius:10px;background:#ffffff;color:#475569;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a;white-space:nowrap}.filter-tab:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000000f}.filter-tab.active{background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);color:#fff;border-color:#16a34a;transform:translateY(-1px);box-shadow:0 4px 12px #2eb72e40,0 2px 4px #2eb72e26}.filter-tab.status-active.active{background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#059669;box-shadow:0 4px 12px #10b98140,0 2px 4px #10b98126}.filter-tab.status-inactive.active{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);border-color:#4b5563;box-shadow:0 4px 12px #6b728040,0 2px 4px #6b728026}.filter-tab.status-maintenance.active{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-color:#d97706;box-shadow:0 4px 12px #f59e0b40,0 2px 4px #f59e0b26}.filter-tab.status-decommissioned.active{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-color:#dc2626;box-shadow:0 4px 12px #ef444440,0 2px 4px #ef444426}.devices-list{display:flex;flex-direction:column;gap:12px;overflow:visible;width:100%;max-width:100%;padding-bottom:calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap) + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(var(--admin-bottom-nav-height) + var(--admin-bottom-extra-gap))}.device-card{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1.5px solid #e2e8f0;border-radius:14px;padding:16px 20px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:18px!important;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;width:100%;max-width:100%;box-sizing:border-box;min-height:68px!important;height:auto!important}.device-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2eb72e 0%,#16a34a 100%);opacity:0;transition:opacity .3s ease}.device-card[data-status=active]:before{background:linear-gradient(180deg,#10b981 0%,#059669 100%)}.device-card[data-status=active]:hover{border-color:#a7f3d0;box-shadow:0 8px 20px #10b98114,0 3px 6px #10b9810f;background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%)}.device-card[data-status=inactive]:before{background:linear-gradient(180deg,#6b7280 0%,#4b5563 100%)}.device-card[data-status=inactive]:hover{border-color:#d1d5db;box-shadow:0 8px 20px #6b728014,0 3px 6px #6b72800f;background:linear-gradient(135deg,#ffffff 0%,#f9fafb 100%)}.device-card[data-status=maintenance]:before{background:linear-gradient(180deg,#f59e0b 0%,#d97706 100%)}.device-card[data-status=maintenance]:hover{border-color:#fcd34d;box-shadow:0 8px 20px #f59e0b14,0 3px 6px #f59e0b0f;background:linear-gradient(135deg,#ffffff 0%,#fffbeb 100%)}.device-card[data-status=decommissioned]:before{background:linear-gradient(180deg,#ef4444 0%,#dc2626 100%)}.device-card[data-status=decommissioned]:hover{border-color:#fca5a5;box-shadow:0 8px 20px #ef444414,0 3px 6px #ef44440f;background:linear-gradient(135deg,#ffffff 0%,#fef2f2 100%)}.device-card:hover{box-shadow:0 8px 20px #0000000f,0 3px 6px #0000000a;border-color:#cbd5e1;transform:translateY(-2px);background:#ffffff}.device-card:hover:before{opacity:1}.device-icon{width:48px!important;height:48px!important;border-radius:12px;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #a7f3d0;display:flex;align-items:center;justify-content:center;color:#047857;flex-shrink:0;box-shadow:0 2px 6px #10b98126,inset 0 1px 2px #fff6;transition:all .3s cubic-bezier(.4,0,.2,1)}.device-card:hover .device-icon{transform:scale(1.05) rotate(-2deg);box-shadow:0 4px 10px #10b98140,inset 0 1px 2px #ffffff80}.device-icon.assigned{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#a7f3d0;color:#047857;box-shadow:0 2px 6px #10b98126,inset 0 1px 2px #fff6}.device-card:hover .device-icon.assigned{box-shadow:0 4px 10px #10b98140,inset 0 1px 2px #ffffff80}.device-icon.available{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#fbbf24;color:#b45309;box-shadow:0 2px 6px #f59e0b26,inset 0 1px 2px #fff6}.device-card:hover .device-icon.available{box-shadow:0 4px 10px #f59e0b40,inset 0 1px 2px #ffffff80}.device-card[data-status=active] .device-icon{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-color:#6ee7b7;color:#047857;box-shadow:0 2px 6px #10b98133,inset 0 1px 2px #fff6}.device-card[data-status=active]:hover .device-icon{box-shadow:0 4px 10px #10b9814d,inset 0 1px 2px #ffffff80}.device-card[data-status=inactive] .device-icon{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);border-color:#d1d5db;color:#4b5563;box-shadow:0 2px 6px #6b728026,inset 0 1px 2px #fff6}.device-card[data-status=inactive]:hover .device-icon{box-shadow:0 4px 10px #6b728040,inset 0 1px 2px #ffffff80}.device-card[data-status=maintenance] .device-icon{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#fbbf24;color:#d97706;box-shadow:0 2px 6px #f59e0b33,inset 0 1px 2px #fff6}.device-card[data-status=maintenance]:hover .device-icon{box-shadow:0 4px 10px #f59e0b4d,inset 0 1px 2px #ffffff80}.device-card[data-status=decommissioned] .device-icon{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:#fca5a5;color:#dc2626;box-shadow:0 2px 6px #ef444433,inset 0 1px 2px #fff6}.device-card[data-status=decommissioned]:hover .device-icon{box-shadow:0 4px 10px #ef44444d,inset 0 1px 2px #ffffff80}.device-info{flex:1;min-width:0;display:flex!important;flex-direction:row!important;align-items:center!important;gap:20px!important;overflow:hidden}.device-main-info{display:flex;flex-direction:column;gap:5px!important;min-width:160px;flex-shrink:0}.device-serial{font-size:16px!important;font-weight:700;color:#0f172a;margin:0!important;line-height:1.2!important;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-meta{display:flex;align-items:center;gap:6px!important;color:#64748b;font-size:13px!important;line-height:1!important;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-meta svg{color:#94a3b8;flex-shrink:0}.device-status-row{display:flex;align-items:center;gap:8px!important;flex-wrap:wrap!important;flex-shrink:1;overflow:visible}.device-status{padding:5px 12px!important;border-radius:8px!important;font-size:12px!important;font-weight:700;white-space:nowrap;border:1.5px solid;box-shadow:0 1px 3px #0000000f;display:inline-flex;align-items:center;gap:6px!important;line-height:1!important;transition:all .2s ease}.device-status:before{content:"";width:6px!important;height:6px!important;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px #ffffffe6;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.device-status.assigned{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);color:#047857;border-color:#6ee7b7}.device-status.available{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#b45309;border-color:#fcd34d}.device-operational-status{padding:5px 11px!important;border-radius:8px!important;font-size:12px!important;font-weight:600;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;white-space:nowrap;line-height:1!important;transition:all .2s ease}.device-last-seen{color:#64748b;font-size:12px!important;font-weight:500;white-space:nowrap;line-height:1!important}@media (max-width: 640px){.device-card{flex-direction:column!important;align-items:flex-start!important;padding:14px 16px!important;gap:12px!important}.device-icon{width:48px;height:48px}.device-info{flex:1 1 auto;width:100%;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;min-width:0!important;overflow:visible}.device-main-info{min-width:0!important;width:100%}.device-status-row{width:100%;order:3}.device-actions{width:100%;justify-content:flex-start;margin-top:4px;gap:8px!important;flex-wrap:wrap!important}.device-actions button{flex:1 1 calc(50% - 8px);min-width:0}}@media (max-width: 420px){.device-card{padding:12px 14px!important}.device-actions{flex-wrap:wrap!important;gap:6px!important}.device-actions button{flex:1 1 48%;min-width:0}}.device-actions{display:flex!important;gap:8px!important;flex-shrink:0;position:relative;overflow:visible;align-items:center;flex-wrap:nowrap!important;flex-direction:row!important}.btn-view-details{display:flex;align-items:center;gap:6px!important;padding:9px 16px!important;border:2px solid #2eb72e;border-radius:10px;background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);color:#fff;font-weight:700;font-size:13px!important;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 6px #2eb72e40,0 1px 3px #2eb72e26;letter-spacing:.01em;height:38px!important;line-height:1!important}.btn-view-details:hover{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);border-color:#047857;box-shadow:0 4px 12px #2eb72e59,0 2px 6px #2eb72e40;transform:translateY(-2px)}.btn-view-details:active{transform:translateY(0);box-shadow:0 2px 6px #2eb72e33}.btn-delete-device{display:flex;align-items:center;gap:6px!important;padding:9px 16px!important;border:2px solid #fca5a5;border-radius:10px;background:#ffffff;color:#dc2626;font-weight:700;font-size:13px!important;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 6px #dc26262e,0 1px 3px #dc26261f;letter-spacing:.01em;height:38px!important;line-height:1!important}.btn-delete-device:hover{background:#fef2f2;border-color:#ef4444;color:#b91c1c;box-shadow:0 4px 12px #dc26264d,0 2px 6px #dc262633;transform:translateY(-2px)}.btn-delete-device:active{transform:translateY(0);box-shadow:0 2px 6px #dc262626}.btn-set-status{display:flex;align-items:center;gap:6px!important;padding:9px 16px!important;border:2px solid #10b981;border-radius:10px;background:#ffffff;color:#059669;font-weight:700;font-size:13px!important;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 6px #10b9812e,0 1px 3px #10b9811f;letter-spacing:.01em;height:38px!important;line-height:1!important}.btn-set-status:hover{background:#f0fdf4;border-color:#059669;color:#047857;box-shadow:0 4px 12px #10b9814d,0 2px 6px #10b98133;transform:translateY(-2px)}.btn-set-status:active{transform:translateY(0);box-shadow:0 2px 6px #10b98126}.status-selection-modal{background:#fff;border-radius:20px;padding:32px;max-width:540px;width:100%;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto}.status-modal-header{margin-bottom:24px;text-align:center}.status-modal-header h3{font-family:Abril Fatface,serif;font-size:28px;color:#2eb72e;margin:0 0 8px;font-weight:400}.status-modal-header p{color:#6b7280;font-size:15px;margin:4px 0}.status-modal-header .current-status{color:#2eb72e;font-weight:600;font-size:14px;margin-top:12px}.status-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.status-option{display:flex;align-items:center;gap:16px;padding:16px 20px;border:2px solid #E8F1EA;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;text-align:left;width:100%}.status-option:hover{border-color:#2eb72e;background:#F5FDF6;transform:translateY(-2px);box-shadow:0 4px 12px #2eb72e26}.status-option.current{border-color:#2eb72e;background:#E8F1EA;position:relative}.status-option.current:after{content:"✓";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#2eb72e;font-size:20px;font-weight:700}.status-emoji{font-size:32px;flex-shrink:0;width:40px;text-align:center}.status-info{flex:1}.status-name{font-size:16px;font-weight:700;color:#111;margin-bottom:4px}.status-description{font-size:13px;color:#6b7280;line-height:1.4}.btn-cancel-status{width:100%;padding:14px 24px;background:#ffffff;color:#059669;border:2.5px solid #10b981;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;font-family:Montserrat,sans-serif;box-shadow:0 3px 10px #10b98126,0 1px 3px #10b9811f}.btn-cancel-status:hover{background:#f0fdf4;border-color:#059669;color:#047857;box-shadow:0 4px 14px #10b98140,0 2px 6px #10b9812e;transform:translateY(-2px)}.device-operational-status{font-size:13px;font-weight:500;color:#6b7280;padding:2px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:2200;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain}@media (max-width: 1023.98px){.modal-overlay{padding:24px 14px}.device-modal{max-height:calc(100dvh - 32px);padding:20px 18px 90px}.modal-actions{position:sticky;bottom:0;background:linear-gradient(to top,#ffffff 80%,rgba(255,255,255,.85));padding:12px 0 0;margin-top:8px;box-shadow:0 -4px 12px #00000014}}.device-modal{position:relative;background:#fff;border-radius:20px;padding:28px 28px 26px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-close{position:absolute;top:20px;right:20px;width:32px;height:32px;border-radius:8px;border:1px solid #E8F1EA;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s}.modal-close:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.modal-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.modal-header h2{font-size:20px;font-weight:700;color:#111;margin:0}.modal-subtitle{color:#8ba797;font-size:14px;margin:0 0 24px}.modal-device-title{font-size:24px;font-weight:800;color:#111;margin-bottom:12px}.modal-status-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:24px}.modal-status-badge.assigned{background:#d1fae5;color:#065f46}.modal-status-badge.available{background:#fef3c7;color:#92400e}.modal-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-top-row .modal-subtitle{margin:0;flex:1}.modal-top-row .modal-status-badge{margin:0;flex-shrink:0}@media (max-width: 600px){.modal-top-row .modal-status-badge{padding:4px 10px;font-size:11px}}@media (max-width: 600px){.device-modal{padding:18px 16px;max-width:440px}}@media (max-width: 480px){.device-modal{padding:14px 12px 16px;max-width:380px}}@media (max-width: 400px){.device-modal{padding:12px 10px 14px;max-width:330px}}.modal-info-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.modal-info-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:12px}.info-icon{color:#2eb72e;flex-shrink:0;margin-top:2px}.info-label{font-size:12px;font-weight:600;color:#8ba797;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.info-value{font-size:15px;font-weight:600;color:#111}.qr-code-section{display:flex;flex-direction:column;align-items:center;padding:24px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:16px;margin-bottom:24px}.qr-code-container{width:320px;height:320px;background:#fff;border:2px solid #E8F1EA;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;padding:10px}.qr-code-container svg{width:100%;height:100%}.qr-code-placeholder{width:160px;height:160px;background:#fff;border:2px solid #E8F1EA;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.qr-icon{width:100px;height:100px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;position:relative}.qr-square{width:46px;height:46px;border:3px solid #6b7280;border-radius:4px;position:relative}.qr-square:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;background:#6b7280;border-radius:2px}.qr-dots{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;color:#6b7280}.qr-label{font-size:13px;color:#8ba797;margin-bottom:4px}.qr-device-name{font-size:16px;font-weight:700;color:#2eb72e;margin-bottom:8px}.qr-description{text-align:center;color:#6b7280;font-size:13px;margin:0;max-width:300px}.modal-actions{display:flex;gap:12px}.btn-download{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);color:#fff;border:2.5px solid #047857;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;box-shadow:0 3px 10px #2eb72e59,0 1px 3px #16a34a40}.btn-download:hover{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);box-shadow:0 4px 14px #2eb72e73,0 2px 6px #16a34a59;transform:translateY(-2px);border-color:#065f46}.btn-close-modal{padding:14px 24px;background:#ffffff;color:#059669;border:2.5px solid #10b981;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;box-shadow:0 3px 10px #10b98126,0 1px 3px #10b9811f}.btn-close-modal:hover{background:#f0fdf4;border-color:#059669;color:#047857;box-shadow:0 4px 14px #10b98140,0 2px 6px #10b9812e;transform:translateY(-2px)}@media (min-width: 1024px){.admin-root .admin-main{padding:32px 48px}.device-card{padding:16px 24px!important}}@media (max-width: 1279px){.device-info,.device-status-row{flex-wrap:wrap}}@media (max-width: 1023.98px){.admin-root .admin-main{padding:20px 24px}.devices-summary{grid-template-columns:repeat(2,1fr)}.device-card{padding:14px 18px!important}.device-icon{width:46px!important;height:46px!important}}@media (min-width: 768px) and (max-width: 1023.98px){.devices-summary{grid-template-columns:repeat(4,1fr)}}@media (max-width: 767.98px){.admin-root .admin-main{padding:16px 20px}.devices-title{font-size:28px}.devices-sub{font-size:14px}.devices-summary{grid-template-columns:repeat(2,1fr);gap:14px}.devices-stat-card{padding:18px 20px}.stat-value{font-size:32px}.device-card{padding:12px 16px!important;gap:14px!important;min-height:64px!important;max-height:68px!important}.device-icon{width:42px!important;height:42px!important}.device-info{gap:14px!important}.device-main-info{min-width:130px}.device-serial{font-size:14px!important}.device-meta{font-size:12px!important}.device-status-row,.device-actions{gap:6px!important}.btn-view-details,.btn-delete-device,.btn-set-status{padding:7px 12px!important;font-size:11px!important;height:34px!important}.devices-controls{padding:20px}.filter-tabs{gap:8px}.filter-tab{font-size:13px;padding:9px 16px}}@media (max-width: 480px){.admin-root .admin-main{padding:14px 16px}.devices-title{font-size:24px}.devices-summary{grid-template-columns:1fr 1fr;gap:12px}.devices-stat-card{padding:16px}.stat-value{font-size:28px}.device-card{padding:12px 14px!important;gap:12px!important}.device-serial{font-size:14px!important}.device-icon{width:44px!important;height:44px!important}.filter-tabs{gap:6px}.filter-tab{font-size:12px;padding:8px 14px}.btn-view-details,.btn-delete-device,.btn-set-status{padding:7px 12px!important;font-size:11px!important;height:34px!important}.device-status{padding:4px 10px!important;font-size:11px!important}.device-operational-status{padding:4px 9px!important;font-size:11px!important}.device-meta,.device-last-seen{font-size:11px!important}}@media (max-width: 360px){.device-card{padding:11px 13px!important}.device-serial{font-size:13px!important}.device-icon{width:40px!important;height:40px!important}.device-status{font-size:10px!important;padding:4px 9px!important}.device-status:before{width:5px!important;height:5px!important}.btn-view-details,.btn-delete-device,.btn-set-status{padding:6px 10px!important;font-size:10px!important;height:32px!important}}@media (max-width: 280px){.devices-title{font-size:22px}.device-card{padding:10px 12px!important}.device-serial{font-size:12px!important}.device-icon{width:38px!important;height:38px!important}.btn-view-details,.btn-delete-device,.btn-set-status{padding:6px 10px!important;font-size:10px!important;height:30px!important;gap:4px!important}.device-status{font-size:9px!important;padding:3px 8px!important}.device-status:before{width:4px!important;height:4px!important}.device-operational-status{font-size:9px!important;padding:3px 7px!important}}.device-actions-section{margin-bottom:24px;padding:20px;background:#fff;border:1px solid #E8F1EA;border-radius:12px}@media (max-width: 640px){.devices-list .device-card{max-height:none!important;min-height:auto!important;height:auto!important;overflow:visible!important}.devices-list .device-card .device-info,.devices-list .device-card .device-main-info,.devices-list .device-card .device-status-row,.devices-list .device-card .device-actions{display:flex!important}}.bound-device-info{text-align:center}.bound-header{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;color:#8ba797;margin-bottom:8px}.bound-email{font-size:16px;font-weight:700;color:#2eb72e;margin-bottom:16px}.btn-unbind{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:#ffffff;color:#dc2626;border:2.5px solid #fca5a5;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;margin:0 auto;box-shadow:0 3px 10px #dc262626,0 1px 3px #dc26261f}.btn-unbind:hover:not(:disabled){background:#fef2f2;border-color:#ef4444;color:#b91c1c;box-shadow:0 4px 14px #dc262640,0 2px 6px #dc26262e;transform:translateY(-2px)}.btn-unbind:disabled{opacity:.6;cursor:not-allowed}.bind-device-section{text-align:center}.btn-show-bind-form{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);color:#fff;border:2.5px solid #047857;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;margin:0 auto;box-shadow:0 3px 10px #2eb72e59,0 1px 3px #16a34a40}.btn-show-bind-form:hover{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);box-shadow:0 4px 14px #2eb72e73,0 2px 6px #16a34a59;transform:translateY(-2px);border-color:#065f46}.bind-form{display:flex;flex-direction:column;gap:12px}.bind-form label{font-size:14px;font-weight:600;color:#374151;text-align:left}.bind-form input{padding:10px 14px;border:1px solid #E8F1EA;border-radius:8px;font-size:15px;font-family:Montserrat,sans-serif;color:#111;background:#F5FDF6}.bind-form input:focus{outline:none;border-color:#2eb72e;background:#fff}.bind-form-actions{display:flex;gap:10px}.bind-form-actions button{flex:1;padding:10px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.bind-form-actions button[type=submit]{background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);color:#fff;border:2.5px solid #047857;box-shadow:0 3px 10px #2eb72e59,0 1px 3px #16a34a40}.bind-form-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);box-shadow:0 4px 14px #2eb72e73,0 2px 6px #16a34a59;transform:translateY(-2px);border-color:#065f46}.bind-form-actions button[type=button]{background:#ffffff;color:#059669;border:2.5px solid #10b981;box-shadow:0 3px 10px #10b98126,0 1px 3px #10b9811f}.bind-form-actions button[type=button]:hover:not(:disabled){background:#f0fdf4;border-color:#059669;color:#047857;box-shadow:0 4px 14px #10b98140,0 2px 6px #10b9812e;transform:translateY(-2px)}.bind-form-actions button:disabled{opacity:.6;cursor:not-allowed}.collaborators-section{padding:20px;background:#fff;border:1px solid #E8F1EA;border-radius:12px;margin-bottom:24px}.collaborators-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#8ba797;margin-bottom:12px}.loading-collaborators{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;color:#8ba797;font-size:14px}.loading-collaborators .spin{animation:spin 1s linear infinite}.collaborators-list{list-style:none;padding:0;margin:0}.collaborator-item{display:flex;align-items:center;gap:10px;padding:12px;background:#F5FDF6;border-radius:8px;margin-bottom:8px;font-size:14px;color:#374151}.collaborator-item:last-child{margin-bottom:0}.collab-email{flex:1}.collab-permission{padding:4px 10px;background:#e0f2e0;color:#2eb72e;border-radius:6px;font-size:12px;font-weight:600}.btn-revoke-collab{padding:6px 8px;background:#ffffff;color:#dc2626;border:2px solid #fca5a5;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 2px 6px #dc26261f}.btn-revoke-collab:hover{background:#fef2f2;border-color:#ef4444;color:#b91c1c;box-shadow:0 3px 8px #dc26262e;transform:translateY(-1px)}.btn-revoke-collab:active{transform:scale(.95)}.no-collaborators{text-align:center;color:#9ca3af;font-size:14px;padding:20px;margin:0}.add-collaborator-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.btn-add-collaborator{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:#ffffff;color:#059669;border:2.5px solid #10b981;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 3px 10px #10b98126,0 1px 3px #10b9811f}.btn-add-collaborator:hover{background:#f0fdf4;border-color:#059669;color:#047857;box-shadow:0 4px 14px #10b98140,0 2px 6px #10b9812e;transform:translateY(-2px)}.add-collab-form{display:flex;flex-direction:column;gap:12px}.add-collab-form input{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.add-collab-form input:focus{outline:none;border-color:#2eb72e;box-shadow:0 0 0 3px #2eb72e1a}.add-collab-actions{display:flex;gap:8px}.add-collab-actions button{flex:1;padding:10px 16px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.add-collab-actions button[type=submit]{background:linear-gradient(135deg,#2eb72e 0%,#16a34a 100%);color:#fff;border:2.5px solid #047857;box-shadow:0 3px 10px #2eb72e59,0 1px 3px #16a34a40}.add-collab-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);box-shadow:0 4px 14px #2eb72e73,0 2px 6px #16a34a59;transform:translateY(-2px);border-color:#065f46}.add-collab-actions button[type=button]{background:#ffffff;color:#059669;border:2.5px solid #10b981;box-shadow:0 3px 10px #10b98126,0 1px 3px #10b9811f}.add-collab-actions button[type=button]:hover:not(:disabled){background:#f0fdf4;border-color:#059669;color:#047857;box-shadow:0 4px 14px #10b98140,0 2px 6px #10b9812e;transform:translateY(-2px)}.add-collab-actions button:disabled{opacity:.6;cursor:not-allowed}.admin-filter-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-filter-tab{padding:10px 18px;border:2px solid #e2e8f0;border-radius:12px;background:#ffffff;color:#475569;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a;white-space:nowrap;position:relative}.admin-filter-tab:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000000f}.admin-filter-tab.active{background:#2eb72e;color:#fff;border-color:#16a34a;transform:translateY(-1px);box-shadow:0 2px 6px #2eb72e59}.admin-filter-tab.status-active.active,.admin-filter-tab.success.active{background:#059669;border-color:#047857;box-shadow:0 2px 6px #10b98159}.admin-filter-tab.status-inactive.active,.admin-filter-tab.neutral.active{background:#4b5563;border-color:#374151;color:#fff;box-shadow:0 2px 6px #4b556359}.admin-filter-tab.status-maintenance.active,.admin-filter-tab.warning.active{background:#d97706;border-color:#b45309;color:#fff;box-shadow:0 2px 6px #d9770659}.admin-filter-tab.status-decommissioned.active,.admin-filter-tab.critical.active{background:#dc2626;border-color:#b91c1c;color:#fff;box-shadow:0 2px 6px #dc262659}.admin-filter-tab.info.active{background:#3b82f6;border-color:#1d4ed8;color:#fff;box-shadow:0 2px 6px #3b82f659}.admin-filter-tab.status-active{background:#ecfdf5;color:#065f46;border-color:#d1fae5}.admin-filter-tab.status-inactive{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.admin-filter-tab.status-maintenance{background:#fffbeb;color:#92400e;border-color:#fef3c7}.admin-filter-tab.status-decommissioned{background:#fef2f2;color:#b91c1c;border-color:#fee2e2}.admin-filter-tab.category-assigned.active{background:#065f46;border-color:#064e3b;color:#fff}.admin-filter-tab.category-available.active{background:#047857;border-color:#065f46;color:#fff}.admin-filter-tab.category-shared.active{background:#2563eb;border-color:#1d4ed8;color:#fff}.admin-filter-tab.category-all.active{background:#2eb72e;border-color:#16a34a;color:#fff}.admin-filter-tab:focus-visible{outline:3px solid #2eb72e;outline-offset:2px}.filter-section .admin-filter-tabs{gap:8px}.admin-filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-filter-tabs::-webkit-scrollbar{height:0;width:0}.create-header{padding:8px 4px 0;margin-bottom:24px}.create-title{font-family:Abril Fatface,serif;font-size:32px;margin:0;color:#2eb72e;font-weight:400}.create-subtitle{margin:6px 0 0;color:#8ba797;font-weight:500;font-size:15px}.create-content{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start}.registration-card{background:#fff;border:1px solid #E8F1EA;border-radius:20px;padding:32px;box-shadow:0 2px 8px #0000000a}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:28px}.card-icon{color:#2eb72e}.card-title{font-size:22px;font-weight:700;color:#111;margin:0}.form-group{margin-bottom:28px}.form-label{display:block;font-size:14px;font-weight:600;color:#111;margin-bottom:10px}.input-with-button{display:flex;gap:12px;align-items:stretch}.form-input{flex:1;padding:14px 18px;border:1px solid #E8F1EA;border-radius:12px;font-size:15px;font-family:Montserrat,sans-serif;color:#111;background:#F5FDF6;transition:all .2s}.form-input:focus{outline:none;border-color:#2eb72e;background:#fff;box-shadow:0 0 0 3px #2eb72e1a}.form-input::placeholder{color:#8ba797}.btn-generate{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#fff;border:1px solid #E8F1EA;border-radius:12px;color:#2eb72e;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-generate:hover{background:#F5FDF6;border-color:#2eb72e}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.form-help{margin:8px 0 0;font-size:13px;color:#8ba797}.btn-create-device{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:linear-gradient(135deg,#2eb72e 0%,#27a127 100%);color:#fff;border:none;border-radius:14px;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #2eb72e33;margin-bottom:32px}.btn-create-device:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2eb72e4d}.btn-create-device:active{transform:translateY(0)}.info-section{background:#F5FDF6;border:1px solid #E8F1EA;border-radius:16px;padding:24px}.info-title{font-size:16px;font-weight:700;color:#111;margin:0 0 16px}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.info-item{display:flex;align-items:flex-start;gap:12px;color:#6b7280;font-size:14px;line-height:1.5}.check-icon{color:#2eb72e;flex-shrink:0;margin-top:2px}.recent-devices-sidebar{background:#fff;border:1px solid #E8F1EA;border-radius:20px;padding:28px;box-shadow:0 2px 8px #0000000a;position:sticky;top:20px}.sidebar-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.sidebar-icon{color:#2eb72e}.sidebar-title{font-size:18px;font-weight:700;color:#111;margin:0}.recent-devices-list{display:flex;flex-direction:column;gap:12px}.recent-device-card{background:#F5FDF6;border:1px solid #E8F1EA;border-radius:12px;padding:14px 16px;transition:all .2s}.recent-device-card:hover{background:#fff;box-shadow:0 2px 8px #0000000f}.recent-device-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.recent-device-serial{font-size:14px;font-weight:700;color:#111;margin:0}.recent-device-status{padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.recent-device-status.assigned{background:#d1fae5;color:#065f46}.recent-device-status.available{background:#fef3c7;color:#92400e}.recent-device-time{font-size:12px;color:#8ba797;margin:0 0 4px}.recent-device-owner{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;margin:0}.success-modal{position:relative;background:#fff;border-radius:24px;padding:40px;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#065f46}.success-title{font-size:26px;font-weight:800;color:#111;margin:0 0 10px}.success-subtitle{font-size:15px;color:#6b7280;margin:0 0 28px;line-height:1.5}.success-device-serial{font-size:28px;font-weight:800;color:#2eb72e;margin:0 0 8px;letter-spacing:.5px}.success-note{font-size:14px;color:#8ba797;margin:0 0 24px}.qr-code-container{background:#F5FDF6;border:2px solid #E8F1EA;border-radius:16px;padding:24px;margin:0 0 24px;display:flex;justify-content:center}.qr-code-image{width:240px;height:240px;border-radius:12px}.success-status-badge{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:12px 20px;border-radius:12px;font-size:13px;font-weight:600;margin:0 0 28px}.success-actions{display:flex;gap:12px}.btn-download-qr{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:#2eb72e;color:#fff;border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s}.btn-download-qr:hover{background:#27a127;box-shadow:0 4px 12px #2eb72e4d}.btn-close-success{padding:16px 32px;background:#fff;color:#6b7280;border:1px solid #E8F1EA;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s}.btn-close-success:hover{background:#F5FDF6;border-color:#d0ead3;color:#111}@media (max-width: 1200px){.create-content{grid-template-columns:1fr}.recent-devices-sidebar{position:static}}@media (max-width: 767.98px){.create-title{font-size:26px}.registration-card{padding:24px 20px}.input-with-button{flex-direction:column}.btn-generate{width:100%;justify-content:center}.success-modal{padding:32px 24px}.success-title{font-size:22px}.success-device-serial{font-size:24px}.qr-code-image{width:200px;height:200px}.success-actions{flex-direction:column}}.users-header{padding:8px 4px 0;margin-bottom:20px}.users-title{font-family:Abril Fatface,serif;font-size:40px;margin:0;color:#111111e7;font-weight:700}.users-subtitle{margin:3px 0 0;color:#6f8876;font-weight:500;font-size:15px}.users-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:24px}.users-stat-card{background:#fff;border:1px solid #E8F1EA;border-radius:16px;padding:20px 22px;box-shadow:0 2px 8px #0000000a}.stat-label{font-size:12px;font-weight:600;color:#8ba797;letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}.stat-value{font-size:42px;font-weight:900;color:#111;line-height:1}.stat-value.stat-green{color:#2eb72e}.users-search-section{background:#fff;border:1px solid #E8F1EA;border-radius:16px;padding:18px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.search-box{position:relative}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#8ba797}.search-input{width:100%;padding:12px 16px 12px 48px;border:1px solid #E8F1EA;border-radius:12px;font-size:15px;font-family:Montserrat,sans-serif;color:#111;background:#F5FDF6;transition:all .2s}.search-input:focus{outline:none;border-color:#2eb72e;background:#fff;box-shadow:0 0 0 3px #2eb72e1a}.search-input::placeholder{color:#8ba797}.users-section{margin-bottom:32px}.section-title{font-family:Abril Fatface,serif;font-size:24px;margin:0 0 16px;color:#2eb72e;font-weight:400}.users-list{display:flex;flex-direction:column;gap:14px}.user-card{background:#fff;border:1px solid #E8F1EA;border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:18px;box-shadow:0 2px 8px #0000000a;transition:all .2s}.user-card:hover{box-shadow:0 4px 16px #00000014;border-color:#d0ead3}.admin-card{border-left:4px solid #2eb72e}.user-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.user-initials{font-size:18px;font-weight:700;color:#065f46}.admin-badge{position:absolute;bottom:-4px;right:-4px;background:#2eb72e;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.user-badge{position:absolute;bottom:-4px;right:-4px;background:#6b7280;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.user-name{font-size:18px;font-weight:700;color:#111;margin:0;line-height:1.3}.user-email{font-size:14px;color:#6b7280;margin:0;line-height:1.3}.user-meta{display:flex;align-items:center;gap:16px;margin-top:2px}.user-devices,.user-activity{display:flex;align-items:center;gap:6px;font-size:13px;color:#8ba797}.user-devices svg,.user-activity svg{flex-shrink:0}.user-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-delete-user{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-delete-user:hover{background:#fecaca;transform:scale(1.05)}.btn-delete-user:active{transform:scale(.95)}.btn-delete-user:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-delete-user svg{flex-shrink:0}.btn-view-user{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#d1fae5;border:none;border-radius:10px;color:#065f46;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-view-user:hover{background:#a7f3d0}.user-device-count{font-weight:700}.shared-devices{color:#6b7280;font-size:.875rem;font-weight:400}@media (max-width: 1023.98px){.users-summary{grid-template-columns:1fr}}@media (min-width: 768px) and (max-width: 1023.98px){.users-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767.98px){.users-title{font-size:26px}.users-stat-card{padding:16px 18px}.stat-value{font-size:36px}.user-card{padding:16px;flex-wrap:wrap}.user-meta{flex-direction:column;align-items:flex-start;gap:6px}.user-actions{flex-direction:column;gap:6px}.btn-delete-user{width:36px;height:36px}.btn-view-user{width:100%;justify-content:center}}@media (max-width: 480px){.user-name{font-size:16px}.user-email{font-size:13px}}.user-devices-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.user-devices-modal{background:white;border-radius:20px;box-shadow:0 20px 60px #00000026;max-width:700px;width:100%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;background:linear-gradient(135deg,#339432 0%,#2d7f2b 100%);color:#fff;gap:16px}.modal-header-content{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.modal-avatar{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0000001a}.modal-title-section{flex:1;min-width:0}.modal-title{margin:0;font-size:1.375rem;font-weight:700;color:#fff;font-family:Montserrat,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.modal-subtitle{margin:4px 0 0;font-size:.875rem;color:#ffffffe6;font-weight:500;line-height:1.3}.modal-subtitle-shared{margin-left:8px;font-size:.8125rem;color:#fffc;font-weight:400;font-style:italic}.modal-close-btn{background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;padding:10px;border-radius:12px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close-btn:hover{background:rgba(255,255,255,.25);transform:scale(1.05)}.modal-close-btn:active{transform:scale(.95)}.modal-content{flex:1;padding:28px;overflow-y:auto;background:#f8faf9}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.loading-state .spinner{color:#339432;margin-bottom:20px;animation:spin 1s linear infinite}.loading-text{margin:0;color:#6c7d75;font-size:1rem;font-weight:600}.devices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.device-card{background:white;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e8f1ea;display:flex;flex-direction:column;gap:16px;animation:cardSlideIn .4s ease-out backwards;position:relative;overflow:hidden}.device-card.clickable{cursor:pointer}.device-card.clickable:hover{transform:translateY(-4px);box-shadow:0 12px 24px #3394321f;border-color:#c7e6ca}.device-card.clickable:hover:before{transform:scaleX(1)}.device-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#339432,#2d7f2b);transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.device-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #3394321f;border-color:#c7e6ca}.device-card:hover:before{transform:scaleX(1)}.device-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.device-icon-wrapper{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#339432 0%,#2d7f2b 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #33943233}.device-status-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize;transition:all .2s ease}.device-card-body{display:flex;flex-direction:column;gap:8px}.device-title{margin:0;font-size:1.125rem;font-weight:700;color:#1a1a1a;font-family:Montserrat,sans-serif;line-height:1.3;word-break:break-word;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.device-shared-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#fef3c7;color:#d97706;border-radius:12px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border:1px solid #fbbf24}.device-owner-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#d1fae5;color:#065f46;border-radius:12px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border:1px solid #34d399}.device-serial{margin:0;font-size:.8125rem;color:#6c7d75;font-weight:500;display:flex;align-items:center;gap:6px;font-family:Monaco,Courier New,monospace}.device-serial svg{flex-shrink:0;opacity:.7}.device-plant-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#f0f9f1;color:#2d7f2b;border-radius:8px;font-size:.75rem;font-weight:600;align-self:flex-start;border:1px solid #d4edd6}.device-card-footer{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #f0f4f2}.device-meta-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:#6c7d75;font-weight:500}.device-meta-item svg{flex-shrink:0;color:#8ba797}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center}.empty-icon-wrapper{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#f0f9f1 0%,#e8f5e9 100%);display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#8ba797}.empty-title{margin:0 0 12px;font-size:1.25rem;font-weight:700;color:#1a1a1a;font-family:Montserrat,sans-serif}.empty-description{margin:0;color:#6c7d75;font-size:.9375rem;font-weight:500;max-width:320px;line-height:1.5}@media (max-width: 768px){.user-devices-modal{max-width:100%;max-height:92vh;border-radius:20px 20px 0 0}.modal-header{padding:20px 24px}.modal-avatar{width:44px;height:44px;font-size:18px}.modal-title{font-size:1.1875rem}.modal-content{padding:20px}.devices-grid{grid-template-columns:1fr;gap:16px}}@media (max-width: 480px){.user-devices-modal-overlay{padding:0;align-items:flex-end}.user-devices-modal{border-radius:20px 20px 0 0;max-height:95vh}.modal-header-content{gap:12px}.modal-avatar{width:40px;height:40px;font-size:16px}.modal-title{font-size:1.0625rem}.modal-subtitle{font-size:.8125rem}.modal-content,.device-card{padding:16px}.device-card-header{flex-wrap:wrap}.device-icon-wrapper{width:42px;height:42px}.device-title{font-size:1rem}}.settings-header{padding:8px 4px 0;margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-title{font-family:Abril Fatface,serif;font-size:40px;margin:0;color:#111111e7;font-weight:700}.settings-subtitle{margin:3px 0 0;color:#6f8876;font-weight:500;font-size:15px}.save-message{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;animation:slideIn .3s ease-out}.save-message.success{background:#DEF7E5;color:#2eb72e;border:1px solid #2eb72e}.save-message.error{background:#FEE2E2;color:#dc2626;border:1px solid #dc2626}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.spinner{animation:spin 1s linear infinite}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;width:100%;gap:20px;margin-bottom:20px}.settings-card{background:#fff;border:1px solid #E8F1EA;border-radius:20px;padding:clamp(18px,2.2vw,28px);box-shadow:0 2px 8px #0000000a;height:100%}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.card-icon{color:#111}.card-icon.green{color:#2eb72e}.card-title{font-size:20px;font-weight:700;color:#111;margin:0}.settings-group{margin-bottom:24px}.setting-label{display:block;font-size:14px;font-weight:600;color:#111;margin-bottom:10px}.email-display{padding:14px 18px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:12px;font-size:15px;color:#111;margin-bottom:8px}.setting-help{font-size:13px;color:#8ba797;margin:0;line-height:1.5}.setting-input{width:100%;padding:14px 18px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:12px;font-size:15px;color:#111;font-family:Montserrat,sans-serif;font-weight:500;transition:all .2s}.setting-input:focus{outline:none;border-color:#2eb72e;background:#fff;box-shadow:0 0 0 3px #2eb72e1a}.setting-value{padding:14px 18px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:12px;font-size:15px;color:#111;font-weight:500}.btn-edit-profile{width:100%;padding:14px 24px;background:#fff;color:#2eb72e;border:2px solid #2eb72e;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-edit-profile:hover{background:#F5FDF6;box-shadow:0 4px 12px #2eb72e33}.edit-actions{display:flex;gap:12px;width:100%}.btn-save-profile{flex:1;padding:14px 24px;background:linear-gradient(135deg,#2eb72e 0%,#27a127 100%);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-save-profile:hover:not(:disabled){box-shadow:0 4px 12px #2eb72e4d}.btn-save-profile:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-profile{flex:1;padding:14px 24px;background:#fff;color:#6b7280;border:2px solid #E8F1EA;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-cancel-profile:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#111}.btn-cancel-profile:disabled{opacity:.6;cursor:not-allowed}.btn-update-profile{width:100%;padding:14px 24px;background:linear-gradient(135deg,#2eb72e 0%,#27a127 100%);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s}.btn-update-profile:hover{box-shadow:0 4px 12px #2eb72e4d}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #f3f4f6;gap:16px}.setting-row:last-child{border-bottom:none;padding-bottom:0}.setting-row:first-child{padding-top:0}.setting-info{flex:1}.setting-description{font-size:13px;color:#8ba797;margin-top:4px}.toggle-switch{position:relative;width:48px;height:26px;flex-shrink:0;cursor:pointer}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:26px;transition:all .3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s}.toggle-switch input:checked+.toggle-slider{background:#2eb72e}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.setting-select{padding:8px 12px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:8px;font-size:14px;color:#111;font-family:Montserrat,sans-serif;font-weight:600;cursor:pointer;min-width:120px}.setting-select:focus{outline:none;border-color:#2eb72e}.theme-toggle{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:10px}.theme-btn{width:36px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s}.theme-btn.active{background:#fff;color:#2eb72e;box-shadow:0 2px 4px #0000001a}.theme-btn:hover:not(.active){color:#111}.security-note{margin:16px 0 0;padding:12px 16px;background:#F5FDF6;border:1px solid #E8F1EA;border-radius:10px;font-size:13px;color:#6b7280;line-height:1.5}.support-card{grid-column:1 / -1}.support-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.support-btn{padding:14px 20px;background:#fff;border:1px solid #E8F1EA;border-radius:12px;color:#111;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.support-btn:hover{background:#F5FDF6;border-color:#2eb72e;color:#2eb72e}.logout-card{grid-column:1 / -1;padding:24px 28px;background:#fff;margin-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.btn-logout{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:#dc2626;color:#fff;border:none;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d}@media (max-width: 767.98px){.settings-grid,.support-buttons{grid-template-columns:1fr}}@media (max-width: 767.98px){.settings-header{flex-direction:column}.settings-title{font-size:26px}.settings-card{padding:16px}.setting-row{flex-direction:column;align-items:flex-start;gap:12px}.setting-select,.toggle-switch,.theme-toggle{align-self:flex-end}.support-buttons{grid-template-columns:1fr}.edit-actions{flex-direction:column}.btn-edit-profile,.btn-save-profile,.btn-cancel-profile,.btn-logout{min-height:48px;font-size:15px}}@media (max-width: 480px){.card-title{font-size:18px}.setting-label{font-size:13px}.setting-description{font-size:12px}}.admin-alerts-page{padding:0}.alerts-page-header{padding:8px 4px 16px;border-bottom:1px solid var(--color-border);margin-bottom:20px}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-family:Abril Fatface,serif;font-size:28px;margin:0 0 6px;color:#111}.page-subtitle{margin:0;color:#6f8876;font-weight:500;font-size:15px}.header-stats{display:flex;gap:12px;flex-wrap:wrap}.stat-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px;border:2px solid}.stat-badge.critical{background:#fef2f2;border-color:#fecaca;color:#dc2626}.stat-badge.warning{background:#fffbeb;border-color:#fde68a;color:#d97706}.stat-badge.info{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.stat-badge.unread{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.search-bar{position:relative;display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--color-border);border-radius:16px;padding:14px 18px;transition:all .2s}.search-bar:focus-within{border-color:#2eb72e;box-shadow:0 0 0 3px #2eb72e1a}.search-bar svg{color:#6f8876;flex-shrink:0}.search-bar input{flex:1;border:none;outline:none;font-size:15px;font-weight:500;color:#111;background:transparent}.search-bar input::placeholder{color:#9ca3af}.clear-search{background:#f3f4f6;border:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s;flex-shrink:0}.clear-search:hover{background:#e5e7eb;color:#111}.filters-section{display:flex;flex-direction:column;gap:20px;padding:0 4px 20px;border-bottom:1px solid var(--color-border);margin-bottom:24px}.filter-group{display:flex;flex-direction:column;gap:12px}.filter-group.inline{flex-direction:row;gap:16px;flex-wrap:wrap}.filter-label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.3px;color:#6f8876;text-transform:uppercase}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap}.filter-tab{padding:10px 18px;border:2px solid var(--color-border);background:#fff;border-radius:999px;font-weight:600;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s}.filter-tab:hover{border-color:#2eb72e;color:#2eb72e}.filter-tab.active{background:#2eb72e;border-color:#2eb72e;color:#fff}.filter-tab.critical.active{background:#dc2626;border-color:#dc2626}.filter-tab.warning.active{background:#f59e0b;border-color:#f59e0b}.filter-tab.info.active{background:#3b82f6;border-color:#3b82f6}.filter-dropdown{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.filter-dropdown label{font-weight:700;font-size:13px;letter-spacing:.3px;color:#6f8876;text-transform:uppercase}.filter-dropdown select{padding:12px 16px;border:2px solid var(--color-border);border-radius:12px;font-size:14px;font-weight:600;color:#111;background:#fff;cursor:pointer;transition:all .2s}.filter-dropdown select:hover{border-color:#2eb72e}.filter-dropdown select:focus{outline:none;border-color:#2eb72e;box-shadow:0 0 0 3px #2eb72e1a}.alerts-list-section{padding:0 4px}.list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.list-title{font-size:18px;font-weight:800;color:#111;margin:0}.alerts-grid{display:flex;flex-direction:column;gap:12px}.alert-item{position:relative;display:flex;align-items:flex-start;gap:16px;background:#fff;border:2px solid var(--color-border);border-radius:16px;padding:20px 20px 20px 24px;cursor:pointer;transition:all .2s}.alert-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:16px 0 0 16px}.alert-item.critical:before{background:#dc2626}.alert-item.warning:before{background:#f59e0b}.alert-item.info:before{background:#3b82f6}.alert-item.unread{background:#fafafa;border-color:#2eb72e}.alert-item.resolved{opacity:.7}.alert-item:hover{border-color:#2eb72e;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.alert-icon-wrapper{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.alert-item.critical .alert-icon-wrapper{background:rgba(220,38,38,.1);color:#dc2626}.alert-item.warning .alert-icon-wrapper{background:rgba(245,158,11,.1);color:#f59e0b}.alert-item.info .alert-icon-wrapper{background:rgba(59,130,246,.1);color:#3b82f6}.alert-content{flex:1;min-width:0}.alert-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.alert-title{font-size:16px;font-weight:700;color:#111;margin:0}.alert-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.unread-badge{background:#2eb72e;color:#fff}.resolved-badge{background:#e0f2fe;color:#0369a1}.type-badge{border:1px solid}.type-badge.critical{background:#fef2f2;border-color:#fecaca;color:#dc2626}.type-badge.warning{background:#fffbeb;border-color:#fde68a;color:#d97706}.type-badge.info{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.alert-message{font-size:14px;color:#6b7280;line-height:1.6;margin:0 0 12px}.alert-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}.alert-device{font-weight:600;color:#2eb72e}.alert-time{display:flex;align-items:center;gap:6px;color:#9ca3af;font-weight:500}.view-detail-btn{flex-shrink:0;width:40px;height:40px;border-radius:10px;border:2px solid var(--color-border);background:#fff;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s}.view-detail-btn:hover{border-color:#2eb72e;background:rgba(46,183,46,.05);color:#2eb72e}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state svg{color:#2eb72e;margin-bottom:16px}.empty-state h3{font-size:20px;font-weight:700;color:#111;margin:0 0 8px}.empty-state p{font-size:15px;color:#6b7280;max-width:400px;line-height:1.6;margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlayFadeIn .25s cubic-bezier(.4,0,.2,1)}.modal-content{background:#fff;border-radius:24px;max-width:640px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 24px 64px #0000004d,0 8px 24px #00000026;position:relative;border:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column}.alert-detail-modal{animation:modalSlideIn .35s cubic-bezier(.4,0,.2,1)}.modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:12px;border:none;background:rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease;z-index:1}.modal-close:hover{background:rgba(0,0,0,.1);color:#111;transform:scale(1.05)}.modal-header{display:flex;align-items:flex-start;gap:18px;padding:28px 28px 24px;border-bottom:2px solid rgba(0,0,0,.06);position:relative;flex-shrink:0}.modal-header.critical{background:linear-gradient(135deg,#fef2f2 0%,#fff5f5 50%,#fff 100%)}.modal-header.warning{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 50%,#fff 100%)}.modal-header.info{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 50%,#fff 100%)}.modal-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.modal-header.critical .modal-icon{background:linear-gradient(135deg,rgba(220,38,38,.15) 0%,rgba(220,38,38,.1) 100%);color:#dc2626;border:2px solid rgba(220,38,38,.2)}.modal-header.warning .modal-icon{background:linear-gradient(135deg,rgba(245,158,11,.15) 0%,rgba(245,158,11,.1) 100%);color:#f59e0b;border:2px solid rgba(245,158,11,.2)}.modal-header.info .modal-icon{background:linear-gradient(135deg,rgba(59,130,246,.15) 0%,rgba(59,130,246,.1) 100%);color:#3b82f6;border:2px solid rgba(59,130,246,.2)}.modal-title{font-size:24px;font-weight:800;color:#111;margin:0 0 12px;padding-right:48px;letter-spacing:-.5px}.modal-badges{display:flex;gap:8px;flex-wrap:wrap}.modal-body{padding:28px;overflow-y:auto;flex:1}.detail-section{margin-bottom:24px;padding:18px 20px;background:linear-gradient(135deg,rgba(51,148,50,.02) 0%,transparent 100%);border-radius:12px;border:1px solid rgba(0,0,0,.04)}.detail-section:last-child{margin-bottom:0}.detail-section label{display:block;font-weight:700;font-size:13px;letter-spacing:.5px;color:#6f8876;text-transform:uppercase;margin-bottom:10px}.detail-section p{font-size:15px;color:#111;line-height:1.7;margin:0;font-weight:500}.detail-message{font-size:16px;line-height:1.7;color:#374151}.device-id{font-family:Courier New,monospace;background:#f3f4f6;padding:8px 12px;border-radius:8px;font-weight:600;color:#2eb72e}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.status-resolved,.status-active{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-weight:600}.status-resolved{background:#e0f2fe;color:#0369a1}.status-active{background:#fef3c7;color:#d97706}.modal-footer{display:flex;gap:12px;padding:24px 28px;border-top:2px solid rgba(0,0,0,.06);flex-wrap:wrap;background:linear-gradient(180deg,transparent 0%,rgba(51,148,50,.01) 100%);flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;border:2px solid transparent;transition:all .2s;white-space:nowrap}.btn-resolve{background:#2eb72e;color:#fff}.btn-resolve:hover{background:#27a327;box-shadow:0 4px 12px #2eb72e4d}.btn-view-device{background:#fff;border-color:var(--color-border);color:#111}.btn-view-device:hover{border-color:#2eb72e;background:rgba(46,183,46,.05);color:#2eb72e}.btn-secondary{background:#f3f4f6;color:#6b7280}.btn-secondary:hover{background:#e5e7eb;color:#111}@media (max-width: 768px){.page-title{font-size:24px}.header-top{flex-direction:column;gap:16px}.header-stats{width:100%;justify-content:space-between}.stat-badge{flex:1;justify-content:center;padding:10px 12px;font-size:13px}.filter-group.inline{flex-direction:column}.filter-dropdown{width:100%}.alert-item{padding:16px 16px 16px 20px}.alert-icon-wrapper{width:36px;height:36px}.view-detail-btn{display:none}.detail-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%;justify-content:center}}:root{--green-50: #f0f8f3;--green-100: #e3f2ea;--green-200: #cfe9da;--green-300: #b8dfc8;--green-400: #8fceaa;--green-500: #4caf7f;--green-600: #339432;--green-700: #2a7b29;--text-900: #0f1f17;--text-700: #335347;--text-500: #5f7a6e;--border: rgba(20, 40, 32, .08);--shadow: 0 6px 22px rgba(31, 64, 54, .12);--shadow-soft: 0 2px 10px rgba(31, 64, 54, .08);--bg-card: #ffffff;--bg-muted: #f8fbf9;--danger: #e1554a;--warning: #f3b348;--info: #86aab2}.device-page{min-height:100dvh;background:radial-gradient(1200px 600px at 90% -10%,var(--green-100) 0%,transparent 60%),linear-gradient(180deg,var(--bg-muted),#fff 30%)}.device-container{max-width:1100px;margin:0 auto;padding:24px 16px 120px}.top-bar{display:flex;align-items:center;margin-bottom:16px;position:sticky;top:0;z-index:20;padding-top:calc(env(safe-area-inset-top,0px) + 6px);background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.55) 70%,rgba(255,255,255,0));-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px)}.back-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 14px;color:var(--text-700);box-shadow:var(--shadow-soft);font-weight:600;transition:transform .06s ease,box-shadow .2s ease,background .2s ease}.back-btn:hover{background:var(--green-50);box-shadow:0 6px 16px #1f40361f}.back-btn:active{transform:translateY(1px)}.device-header{background:linear-gradient(135deg,#e9f7ef 0%,#dff3ea 40%,#f6fbf8 100%);border-radius:18px;padding:20px;box-shadow:var(--shadow);border:1px solid var(--border);display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:16px}.device-avatar{width:72px;height:72px;border-radius:12px;overflow:hidden;background:var(--green-50);border:1px solid var(--border)}.device-avatar img{width:100%;height:100%;object-fit:cover}.device-title{display:flex;flex-direction:column;gap:6px}.device-title h1{margin:0;font-size:24px;color:var(--text-900);letter-spacing:.2px;font-weight:800}.device-subtitle{display:flex;gap:10px;flex-wrap:wrap;color:var(--text-500);font-size:13px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;box-shadow:var(--shadow-soft);border:1px solid var(--border);font-weight:700}.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--green-600)}.badge .dot.red{background:var(--danger)}.header-actions{display:flex;gap:10px}.btn-soft{background:#fff;border:1px solid var(--border);color:var(--text-700);border-radius:10px;padding:10px 12px;display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-soft)}.btn-primary{background:var(--green-600);color:#fff;border:none;border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 14px #33943240}.segmented{margin:18px 0 12px;background:#fff;border:1px solid var(--border);border-radius:999px;display:inline-flex;padding:8px;gap:8px;box-shadow:var(--shadow-soft)}.segmented button{border:none;border-radius:999px;padding:10px 16px;background:transparent;color:var(--text-700);font-weight:700}.segmented button.active{background:linear-gradient(180deg,#e6f5ec,#d9efe4);color:var(--green-700);box-shadow:inset 0 1px #fff9,0 6px 14px #3394321f,var(--shadow-soft);border:1px solid rgba(51,148,50,.25)}.grid-2{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 900px){.grid-2{grid-template-columns:1.2fr .8fr}}@media (max-width: 599px){.device-container{padding:16px 12px 96px}.device-header{grid-template-columns:56px 1fr auto;padding:12px}.device-avatar{width:56px;height:56px}.device-title h1{font-size:18px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.card-body{padding:12px}.segmented{width:100%;justify-content:space-between}.segmented button{flex:1;padding:8px 10px;font-size:14px}.list{max-height:none}.filters{gap:6px}.input,.select{font-size:14px}}@media (min-width: 600px) and (max-width: 899px){.device-container{padding:20px 14px 108px}.device-header{grid-template-columns:64px 1fr auto}.device-avatar{width:64px;height:64px}.device-title h1{font-size:20px}}@media (min-width: 1200px){.device-container{max-width:1200px}.grid-2{grid-template-columns:1.4fr .6fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.card-body{padding:16px}.plant-hero{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center}.plant-hero .image{width:110px;height:110px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--green-50)}.plant-hero .image img{width:100%;height:100%;object-fit:cover}.plant-meta{display:flex;flex-direction:column;gap:6px}.plant-name{font-size:18px;color:var(--text-900);margin:0}.plant-var{color:var(--text-500);font-size:13px}.progress{margin-top:10px;height:10px;background:var(--green-100);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--green-500),var(--green-600));width:0}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-soft)}.kpi .v{font-weight:700;color:var(--text-900)}.kpi .label{color:var(--text-500);font-size:12px}.kpi.crit{border-color:#e1554a40;background:linear-gradient(180deg,#fff,#fff6f5)}.kpi.warn{border-color:#f3b34840;background:linear-gradient(180deg,#fff,#fff9f0)}.countdown{background:linear-gradient(135deg,#eaf7ef,#e4f4ec);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px}.countdown .days{font-size:22px;font-weight:800;color:var(--green-700)}.countdown .label{color:var(--text-500);font-weight:600}.plant-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;background:var(--green-50);border:1px solid var(--border);border-radius:12px;padding:12px}.plant-dates .date-item{display:flex;flex-direction:column;gap:4px}.plant-dates .date-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-500);font-weight:800}.plant-dates .date-value{font-size:14px;font-weight:800;color:var(--text-900)}@media (max-width: 599px){.plant-dates{grid-template-columns:1fr}}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.pill{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-700);box-shadow:var(--shadow-soft)}.list{max-height:520px;overflow:auto;display:flex;flex-direction:column;gap:8px}.list-item{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:var(--shadow-soft)}.list-item .title{font-weight:700;color:var(--text-900)}.list-item .msg{color:var(--text-500);font-size:13px}.chip{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.chip.warn{background:#fff5e5;color:#9c6b00;border:1px solid #f6d9a2}.chip.crit{background:#ffe9e7;color:#a02b27;border:1px solid #f2b4ae}.chip.info{background:#eaf4ff;color:#1b5e8e;border:1px solid #bfdcff}.section{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.section h3{margin:0;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-900)}.section .content{padding:14px 16px;display:grid;gap:12px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input,.select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.toggle{display:flex;align-items:center;gap:10px}.actions{display:flex;flex-wrap:wrap;gap:10px}.page-spacer{height:92px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,31,23,.35);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal-content{width:100%;max-width:520px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.modal-content.warn{border-color:#e1554a40;background:linear-gradient(180deg,#ffffff,#fff7f6)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-body{padding:16px}.modal-footer{padding:14px 16px;border-top:1px solid var(--border)}.modal-close{background:transparent;border:none;color:var(--text-500);cursor:pointer}.setup-btn{background:var(--green-600);color:#fff;border:none;border-radius:10px;padding:10px 14px;font-weight:700;box-shadow:0 6px 14px #33943240}.setup-btn.outline{background:#fff;color:var(--text-700);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.photo-modal .modal-body{padding-top:8px}.photo-options{display:flex;flex-direction:column;gap:12px}.photo-option-button{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-muted);cursor:pointer;transition:background .2s ease,box-shadow .2s ease}.photo-option-button:hover{background:var(--green-50);box-shadow:var(--shadow-soft)}.photo-option-icon{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;border:1px solid var(--border)}.photo-option-text{display:flex;flex-direction:column}.photo-option-text strong{font-weight:700;color:var(--text-900);font-size:15px}.photo-option-text span{color:var(--text-500);font-size:13px}.photo-preview-container{padding-top:8px}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #1E3E28;--color-bg: #F5FDF6;--color-surface: #FFFFFF;--color-border: #E8F1EA;--color-muted: #8BA797;--color-text: #1a1a1a;--color-text-light: #6F8876;--color-alert: #E1554A;--color-warning: #F59E0B;--color-info: rgba(51, 148, 50, .9);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-elev: 0 4px 8px rgba(0,0,0,.05);--transition-fast: .16s cubic-bezier(.4,0,.2,1);--space-4: 16px;--space-6: 24px;--font-display: "Abril Fatface", serif;--font-body: "Montserrat", "Inter", system-ui, sans-serif}.alerts-page-root{min-height:100vh;background:var(--color-bg);padding-bottom:80px;font-family:var(--font-body)}.alerts-header{padding:var(--space-6) var(--space-4) var(--space-4);background:var(--color-bg);position:sticky;top:0;z-index:10}.alerts-header-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.alerts-header-title{display:flex;align-items:center;gap:12px;font-family:Abril Fatface,serif;font-size:32px;font-weight:400;color:#111111db;margin:0;flex:1}.alerts-unread-badge{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:var(--color-alert);color:#fff;font-size:13px;font-weight:700;border-radius:14px}.mark-all-read-button{background:none;border:none;padding:8px 0;font-size:14px;font-weight:600;color:var(--color-primary);cursor:pointer;transition:opacity var(--transition-fast)}.mark-all-read-button:hover{opacity:.8}.mark-all-read-button:active{opacity:.6}.alerts-filters{display:flex;gap:8px;padding:0 var(--space-4) var(--space-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.alerts-filters::-webkit-scrollbar{display:none}.filter-button{flex-shrink:0;padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-button:hover{border-color:var(--color-primary);background:rgba(51,148,50,.05)}.filter-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.alerts-content{padding:0 var(--space-4) var(--space-6)}.alerts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center;min-height:300px}.alerts-empty h3{font-size:18px;font-weight:600;color:var(--color-text);margin:var(--space-4) 0 8px}.alerts-empty p{font-size:14px;color:var(--color-muted);margin:0;line-height:1.5}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-elev);cursor:pointer;transition:all var(--transition-fast);overflow:hidden}.alert-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.alert-item:active{transform:translateY(0);box-shadow:var(--shadow-elev)}.alert-item.unread{background:var(--color-surface);box-shadow:0 4px 12px #33943226,0 2px 4px #0000000d}.alert-item.unread.critical{background:rgba(225,85,74,.03);box-shadow:0 4px 12px #e1554a26,0 2px 4px #0000000d;border-left:4px solid var(--color-alert)}.alert-item.unread.warning{background:rgba(245,158,11,.03);box-shadow:0 4px 12px #f59e0b26,0 2px 4px #0000000d;border-left:4px solid var(--color-warning)}.alert-item.unread.info{background:rgba(51,148,50,.03);box-shadow:0 4px 12px #33943226,0 2px 4px #0000000d;border-left:4px solid var(--color-info)}.alert-item.read{opacity:.65;background:#FAFBFA}.alert-item-indicator{position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:width var(--transition-fast)}.alert-item.unread.critical .alert-item-indicator{background:var(--color-alert)}.alert-item.unread.warning .alert-item-indicator{background:var(--color-warning)}.alert-item.unread.info .alert-item-indicator{background:var(--color-info)}.alert-item-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.alert-item-icon.critical{background:rgba(225,85,74,.15);color:var(--color-alert);border:2px solid rgba(225,85,74,.2)}.alert-item-icon.warning{background:rgba(245,158,11,.15);color:var(--color-warning);border:2px solid rgba(245,158,11,.2)}.alert-item-icon.info{background:rgba(51,148,50,.15);color:var(--color-info);border:2px solid rgba(51,148,50,.2)}.alert-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.alert-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.alert-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.alert-item-title{font-size:15px;font-weight:700;color:var(--color-text);margin:0;line-height:1.3;flex:1}.alert-item.unread.critical .alert-item-title{color:var(--color-alert)}.alert-item.unread.warning .alert-item-title{color:var(--color-warning)}.alert-item.unread.info .alert-item-title{color:var(--color-info)}.alert-severity-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.alert-severity-badge.critical{background:var(--color-alert);color:#fff}.alert-severity-badge.warning{background:var(--color-warning);color:#fff}.alert-severity-badge.info{background:var(--color-info);color:#fff}.alert-item-time{font-size:11px;color:var(--color-muted);font-weight:500}.unread-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px #33943233;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #33943233}50%{box-shadow:0 0 0 5px #33943226}}.alert-item-device{font-size:12px;font-weight:600;color:var(--color-primary);margin:0;line-height:1.3}.alert-item-message{font-size:13px;color:var(--color-text-light);margin:0;line-height:1.5}.alert-item-message.hint{font-size:11px}.alert-item-timestamp{font-size:11px;color:var(--color-muted);font-weight:500;margin-top:4px}.alert-item-chevron{flex-shrink:0;align-self:center}.mark-read-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:8px;align-self:flex-start}.mark-read-button:hover{background:var(--color-primary-solid);transform:translateY(-1px);box-shadow:0 2px 8px #3394324d}.mark-read-button:active{transform:translateY(0);box-shadow:0 1px 4px #33943233}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-muted);cursor:pointer;padding:6px 8px;transition:color var(--transition-fast),transform var(--transition-fast)}@media (min-width: 600px){.alerts-page-root{max-width:800px;margin:0 auto}.alerts-header{padding:var(--space-6)}.alerts-filters{padding:0 var(--space-6) var(--space-4)}.alerts-content{padding:0 var(--space-6) var(--space-6)}.alert-item{padding:20px}}@media (max-width: 440px){.alert-item-message.hint{font-size:10px}.alert-mark-read-btn{padding:2px 6px;font-size:10px;border-radius:6px}}@media (min-width: 1024px){.alerts-page-root{max-width:100%;padding-bottom:0}.alerts-header{padding:var(--space-6) var(--space-6) var(--space-4)}.alerts-header-title{font-size:36px}.alerts-filters{padding:0 var(--space-6) var(--space-6)}.alerts-content{padding:0 var(--space-6) var(--space-6);max-width:1200px;margin:0 auto}.alerts-list{gap:16px}.alert-item{padding:24px;border-radius:18px}.alert-item-icon{width:48px;height:48px}.alert-item-icon svg{width:24px;height:24px}.alert-item-title{font-size:17px}.alert-item-message{font-size:14px}.alert-item-device{font-size:13px}.bottom-nav{display:none}.alerts-header-actions{display:flex;align-items:center;gap:12px}.mark-all-read-button{padding:10px 18px;font-size:15px;background:var(--color-primary);color:#fff;border-radius:10px;transition:all var(--transition-fast)}.mark-all-read-button:hover{background:var(--color-primary-solid);transform:translateY(-2px);box-shadow:0 4px 12px #3394324d}.mark-all-read-button:active{transform:translateY(0)}.filter-button{padding:10px 20px;font-size:14px;border-radius:24px}}@media (min-width: 1440px){.alerts-content{max-width:1400px}.alerts-header,.alerts-filters{max-width:1400px;margin:0 auto}}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #1E3E28;--color-alert: #E1554A;--color-warning: #F59E0B;--color-surface: #FFFFFF;--color-background: #F5FDF6;--color-border: #E5EDE8;--color-muted: #6B7D75;--color-text: #1A1A1A;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius: 16px;--shadow: 0 4px 8px rgba(0,0,0,.05);--shadow-lg: 0 8px 16px rgba(0,0,0,.1);--transition-fast: .2s ease}.profile-root{min-height:100vh;background:var(--color-background);background-image:radial-gradient(circle at 20% 80%,rgba(51,148,50,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(51,148,50,.02) 0%,transparent 50%);padding-bottom:80px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--color-muted);font-family:Montserrat,sans-serif}.profile-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);padding:40px 24px 32px;text-align:center;color:#fff;position:relative;overflow:hidden}.profile-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.4;pointer-events:none}.profile-avatar{width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:4px solid rgba(255,255,255,.4);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #00000026,0 2px 8px #0000001a;position:relative;z-index:1}.profile-avatar:hover{transform:scale(1.08) translateY(-4px);border-color:#fff9;box-shadow:0 12px 32px #0003,0 4px 12px #00000026}.profile-username{font-family:Abril Fatface,serif;font-size:32px;margin:0;font-weight:400;text-shadow:0 2px 8px rgba(0,0,0,.15);position:relative;z-index:1;letter-spacing:.5px}.profile-main{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.profile-section{display:flex;flex-direction:column;gap:var(--space-4);position:relative}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header-expandable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast);border-radius:12px;padding:8px 12px;margin:-8px -12px}.section-header-expandable:hover{background-color:#3394320d}.section-header-actions{display:flex;align-items:center;gap:var(--space-3)}.btn-expand-toggle{background:transparent;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-muted);transition:all var(--transition-fast);border-radius:8px}.btn-expand-toggle:hover{background-color:#3394321a;color:var(--color-primary-solid)}.expand-icon{transition:transform .25s ease-in-out}.expand-icon.expanded{transform:rotate(180deg)}.section-title{font-family:Abril Fatface,serif;font-size:32px;color:#111111e6;margin:0;font-weight:400;letter-spacing:-.5px}.section-header-actions .btn-share-new{background:linear-gradient(135deg,var(--color-primary) 0%,#2d8040 100%);color:#fff;border:none;padding:8px 20px;border-radius:10px;font-size:14px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 6px #33943240;letter-spacing:.3px}.section-header-actions .btn-share-new:hover{transform:translateY(-2px);box-shadow:0 4px 12px #33943259;background:linear-gradient(135deg,#2d8040 0%,var(--color-primary) 100%)}.section-header-actions .btn-share-new:active{transform:translateY(0);box-shadow:0 2px 6px #33943240}.info-card{background:var(--color-surface);border-radius:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f,0 1px 2px #00000008;overflow:hidden;animation:expandCard .3s cubic-bezier(.4,0,.2,1);transform-origin:top center}@keyframes expandCard{0%{opacity:0;transform:translateY(-10px);clip-path:inset(0 0 100% 0)}1%{clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}.info-row{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(0,0,0,.05);font-family:Montserrat,sans-serif;animation:fadeInRow .3s ease-out forwards;animation-delay:.05s;opacity:1;transition:background-color var(--transition-fast)}.info-row:hover{background-color:#33943205}@keyframes fadeInRow{to{opacity:1}}.info-row:last-child{border-bottom:none}.info-label{font-size:13px;color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:16px;color:var(--color-text);font-weight:600;text-align:right}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.stat-card{background:var(--color-surface);border-radius:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f,0 1px 2px #00000008;padding:20px;display:flex;align-items:center;gap:var(--space-4);transition:all var(--transition-fast);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-primary) 0%,#2d8040 100%);opacity:0;transition:opacity var(--transition-fast)}.stat-card:hover{border-color:#33943226;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a;transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(51,148,50,.12) 0%,rgba(51,148,50,.08) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);box-shadow:0 2px 8px #3394321a}.stat-card:hover .stat-icon{transform:scale(1.05);background:linear-gradient(135deg,rgba(51,148,50,.15) 0%,rgba(51,148,50,.1) 100%)}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-value{font-family:Abril Fatface,serif;font-size:28px;color:var(--color-secondary);line-height:1;letter-spacing:-.5px}.stat-label{font-family:Montserrat,sans-serif;font-size:13px;color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.btn-share-new{background:var(--color-primary);color:#fff;border:none;border-radius:12px;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.btn-share-new:hover{background:var(--color-secondary);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-share-new:active{transform:translateY(0)}.share-info-banner{background:linear-gradient(135deg,#F5FDF6 0%,#FAFEFB 100%);border:1px solid #E5EDE8;border-left:4px solid var(--color-primary);padding:18px 20px;border-radius:14px;display:flex;align-items:flex-start;gap:var(--space-3);font-family:Montserrat,sans-serif;box-shadow:0 2px 8px #33943214;max-width:1200px;margin:0 auto;width:100%;transition:all var(--transition-fast)}.share-info-banner:hover{box-shadow:0 4px 12px #3394321f;border-left-width:5px}.share-info-banner svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.share-info-banner p{margin:0;font-size:14px;color:var(--color-text);line-height:1.6;font-weight:500}.empty-state{background:linear-gradient(135deg,rgba(51,148,50,.03) 0%,rgba(51,148,50,.01) 100%);border-radius:20px;border:2px dashed rgba(0,0,0,.1);box-shadow:0 2px 8px #0000000a;padding:48px var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}.empty-state p{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;color:var(--color-muted);margin:0;letter-spacing:-.2px}.empty-state span{font-family:Montserrat,sans-serif;font-size:16px;color:var(--color-muted);font-weight:500}.shared-list{display:flex;flex-direction:column;gap:var(--space-4)}.shared-item{background:var(--color-surface);border-radius:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f,0 1px 2px #00000008;padding:20px;display:flex;flex-direction:column;gap:var(--space-3);transition:all var(--transition-fast);position:relative;overflow:hidden}.shared-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-primary) 0%,#2d8040 100%);opacity:0;transition:opacity var(--transition-fast)}.shared-item:hover{border-color:#33943226;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a;transform:translateY(-2px)}.shared-item:hover:before{opacity:1}.shared-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.shared-device-info{display:flex;flex-direction:column;gap:6px}.shared-device-name{font-family:Montserrat,sans-serif;font-size:17px;font-weight:600;color:var(--color-text);margin:0;letter-spacing:-.2px}.shared-device-id{font-family:Montserrat,sans-serif;font-size:13px;color:var(--color-muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.permission-badge{padding:6px 12px;border-radius:8px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:5px;white-space:nowrap;letter-spacing:.5px;border:1.5px solid transparent;transition:all var(--transition-fast)}.permission-badge.view{background:linear-gradient(135deg,rgba(37,99,235,.12) 0%,rgba(37,99,235,.08) 100%);color:#2563eb;border-color:#2563eb33}.permission-badge.view:hover{background:linear-gradient(135deg,rgba(37,99,235,.15) 0%,rgba(37,99,235,.1) 100%);border-color:#2563eb4d}.permission-badge.manage{background:linear-gradient(135deg,rgba(245,158,11,.12) 0%,rgba(245,158,11,.08) 100%);color:#d97706;border-color:#f59e0b33}.permission-badge.manage:hover{background:linear-gradient(135deg,rgba(245,158,11,.15) 0%,rgba(245,158,11,.1) 100%);border-color:#f59e0b4d}.shared-item-body{display:flex;flex-direction:column;gap:var(--space-2)}.shared-user-info{display:flex;align-items:center;gap:var(--space-2);font-family:Montserrat,sans-serif;font-size:16px;color:var(--color-text)}.shared-email{font-weight:500}.shared-date{font-family:Montserrat,sans-serif;font-size:14px;color:var(--color-muted)}.btn-revoke{background:rgba(225,85,74,.1);color:var(--color-alert);border:1px solid rgba(225,85,74,.2);border-radius:12px;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-2)}.btn-revoke:hover{background:var(--color-alert);color:#fff;border-color:var(--color-alert)}.settings-list{background:var(--color-surface);border-radius:16px;padding:4px;box-shadow:0 2px 8px #0000000f,0 1px 2px #00000008;display:flex;flex-direction:column;gap:1px;border:1px solid rgba(0,0,0,.06)}.setting-item{width:100%;background:transparent;border:1px solid transparent;border-bottom:1px solid rgba(0,0,0,.06);border-radius:12px;padding:18px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:Montserrat,sans-serif;position:relative;overflow:hidden}.setting-item:last-child{border-bottom:none}.setting-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(51,148,50,.1),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.setting-item:hover{background:rgba(51,148,50,.06);border-color:#33943226;transform:translate(3px);box-shadow:0 2px 4px #33943214}.setting-item:hover:before{opacity:1}.setting-item:hover .setting-icon{transform:scale(1.1)}.setting-item:hover svg:last-child{transform:translate(3px)}.setting-item:active{background:rgba(51,148,50,.12);border-color:#33943240;transform:scale(.98) translate(0);box-shadow:0 1px 2px #3394321f}.setting-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;transition:transform .2s ease}.setting-label{flex:1;font-size:16px;font-weight:500;color:var(--color-text);text-align:left;letter-spacing:-.01em}.setting-item svg:last-child{flex-shrink:0;transition:all .2s ease}.btn-logout{width:100%;background:rgba(225,85,74,.1);color:var(--color-alert);border:1px solid rgba(225,85,74,.2);border-radius:16px;padding:18px 16px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--space-3);cursor:pointer;transition:all var(--transition-fast)}.btn-logout:hover{background:var(--color-alert);color:#fff;border-color:var(--color-alert);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-logout:active{transform:translateY(0)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;z-index:50}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-muted);cursor:pointer;padding:6px 8px;transition:color var(--transition-fast),transform var(--transition-fast);font-family:Montserrat,sans-serif}.nav-item.active{color:var(--color-primary);transform:scale(1.1)}.nav-item:active{transform:scale(.94)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .25s cubic-bezier(.4,0,.2,1)}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.modal-content{background:var(--color-surface);border-radius:20px;max-width:520px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d,0 8px 24px #00000026;margin:auto;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}@media (max-width: 768px){.modal-overlay{padding:var(--space-2);align-items:flex-start;padding-top:var(--space-4)}.modal-content{max-width:100%;width:calc(100% - var(--space-4));max-height:calc(100vh - var(--space-6));border-radius:12px}.section-header-expandable{padding:6px 8px;margin:-6px -8px}.section-title{font-size:28px}.profile-header{padding:32px var(--space-4)}.profile-avatar{width:100px;height:100px}.profile-name{font-size:28px}.stats-grid{grid-template-columns:1fr;gap:var(--space-3)}.stat-card{padding:18px}.stat-icon{width:48px;height:48px}.stat-value{font-size:24px}}@media (max-width: 480px){.modal-overlay{padding:var(--space-2);align-items:flex-start;padding-top:var(--space-3)}.modal-content{width:calc(100% - var(--space-2));max-height:calc(100vh - var(--space-4));border-radius:8px}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid rgba(0,0,0,.08);background:linear-gradient(180deg,rgba(51,148,50,.02) 0%,transparent 100%);flex-shrink:0}.modal-header h3{font-family:Abril Fatface,serif;font-size:24px;color:var(--color-secondary);margin:0;font-weight:400;letter-spacing:-.5px}.modal-close{background:rgba(0,0,0,.04);border:none;cursor:pointer;color:var(--color-muted);padding:10px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all var(--transition-fast)}.modal-close:hover{background:rgba(0,0,0,.08);color:var(--color-text);transform:scale(1.05)}.modal-close:active{transform:scale(.95)}.modal-body{padding:28px;display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto;flex:1}@media (max-width: 480px){.modal-body{padding:var(--space-3);gap:var(--space-3)}.modal-header{padding:var(--space-3)}.modal-header h3{font-size:18px}}.edit-form{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-label{font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.5px}.form-select,.form-input{width:100%;padding:14px 16px;border:2px solid var(--color-border);border-radius:10px;font-family:Montserrat,sans-serif;font-size:15px;color:var(--color-text);transition:all var(--transition-fast);background:var(--color-surface);font-weight:500}.form-select:focus,.form-input:focus{outline:none;border-color:var(--color-primary);background:rgba(51,148,50,.02);box-shadow:0 0 0 3px #3394321a}.form-input::placeholder{color:var(--color-muted);opacity:.6}.form-help-text{font-family:Montserrat,sans-serif;font-size:13px;color:var(--color-muted);margin:0;display:flex;align-items:center;background:rgba(51,148,50,.05);padding:var(--space-2) var(--space-3);border-radius:6px;border-left:3px solid var(--color-primary)}.permission-options{display:flex;flex-direction:column;gap:var(--space-3)}.permission-option{border:2px solid var(--color-border);border-radius:8px;padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast);position:relative}.permission-option input[type=radio]{position:absolute;opacity:0}.permission-option.selected{border-color:var(--color-primary);background:rgba(51,148,50,.05)}.permission-option:hover{border-color:var(--color-primary)}.permission-option-content{display:flex;align-items:flex-start;gap:var(--space-3)}.permission-option-content>svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.permission-option-content>div{display:flex;flex-direction:column;gap:4px}.permission-option-content strong{font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;color:var(--color-text)}.permission-option-content span{font-family:Montserrat,sans-serif;font-size:12px;color:var(--color-muted)}.modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}@media (max-width: 480px){.modal-footer{padding:var(--space-3);justify-content:stretch;flex-direction:column;gap:var(--space-2)}.btn-cancel,.btn-confirm{width:100%;justify-content:center;padding:var(--space-4);font-size:16px}.edit-form{padding:var(--space-3)}.edit-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}.form-label{font-size:12px}.form-input{font-size:16px}.photo-selected-indicator span{font-size:12px}}.otp-input-container{display:flex;flex-direction:column;align-items:center;margin-bottom:16px;padding:16px;background:#f8f9fa;border-radius:8px;border:2px solid #007bff;gap:16px}.otp-fancy-container{width:100%;display:flex;justify-content:center}.otp-main-input-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.otp-input-label{font-size:14px;color:#333;font-weight:700;text-align:center;margin:0}.otp-main-input{width:100%;max-width:240px;min-width:180px;padding:12px 16px;font-size:18px;text-align:center;border:2px solid #007bff;border-radius:8px;letter-spacing:3px;font-family:monospace;background-color:#fff;outline:none;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.otp-main-input:focus{border-color:#0056b3;box-shadow:0 0 0 3px #007bff1a}@media (max-width: 480px){.otp-main-input{font-size:16px;padding:14px 12px;max-width:100%;min-width:auto;letter-spacing:2px}.otp-input-label{font-size:13px}.otp-input-container{padding:12px;gap:12px}}@media (max-width: 480px){.otp-fancy-container{display:none}}@media (max-width: 480px){.modal-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-content{margin:0;min-height:auto}.btn-cancel,.btn-confirm,button{min-height:44px;touch-action:manipulation}.modal-header h3{line-height:1.3}.modal-body{overflow-x:hidden}}.photo-upload-section{display:flex;flex-direction:column;gap:var(--space-3)}.btn-upload-photo{background:rgba(51,148,50,.1);color:var(--color-primary-solid);border:2px dashed var(--color-primary);border-radius:10px;padding:14px 20px;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.btn-upload-photo:hover{background:rgba(51,148,50,.15);border-color:var(--color-secondary);color:var(--color-secondary);transform:translateY(-1px)}.photo-selected-indicator{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;background:rgba(51,148,50,.08);border-radius:8px;border:1px solid rgba(51,148,50,.2)}.photo-selected-indicator svg{color:var(--color-primary-solid);flex-shrink:0}.photo-selected-indicator span{font-family:Montserrat,sans-serif;font-size:13px;color:var(--color-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-error-banner{display:flex;align-items:center;gap:var(--space-2);padding:12px 16px;background:rgba(225,85,74,.08);border:1px solid rgba(225,85,74,.3);border-left:4px solid var(--color-alert);border-radius:8px;font-family:Montserrat,sans-serif;font-size:14px;color:#c53030;font-weight:500}.form-error-banner svg{color:var(--color-alert);flex-shrink:0}.edit-actions{display:flex;gap:var(--space-3);padding-top:var(--space-2)}.btn-cancel{flex:1;background:var(--color-surface);color:var(--color-muted);border:2px solid var(--color-border);border-radius:10px;padding:14px 20px;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover{background:var(--color-background);border-color:var(--color-muted);color:var(--color-text);transform:translateY(-1px)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-save{flex:1;background:var(--color-primary);color:#fff;border:none;border-radius:10px;padding:14px 20px;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #33943240}.btn-save:hover{background:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #33943259}.btn-save:active{transform:translateY(0);box-shadow:0 2px 6px #33943240}.btn-save:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.btn-confirm{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:var(--space-3) var(--space-5);font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.btn-confirm:hover{background:var(--color-secondary);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-confirm:active{transform:translateY(0)}@media (min-width: 600px){.profile-main{max-width:1200px;margin:0 auto;padding:var(--space-6)}.profile-header{padding:var(--space-6) var(--space-6) var(--space-6)}.profile-avatar{width:120px;height:120px}.profile-username{font-size:36px}.profile-email{font-size:16px}.section-title{font-size:24px}.stats-grid{gap:var(--space-5)}.stat-card{padding:var(--space-5)}}.shared-status{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:auto}.shared-status.pending{background:rgba(245,158,11,.1);color:#f59e0b}.shared-status.active{background:rgba(51,148,50,.1);color:var(--color-primary-solid)}.shared-status.inactive{background:rgba(225,85,74,.1);color:var(--color-alert)}.shared-meta{display:flex;flex-direction:column;gap:4px;margin-top:8px}.shared-permissions{font-size:11px;color:var(--color-muted);font-style:italic}.shared-user-info{display:flex;align-items:center;gap:8px;justify-content:space-between}.invitation-notification{background:rgba(51,148,50,.1);border:1px solid rgba(51,148,50,.2);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.invitation-notification .notification-icon{width:40px;height:40px;border-radius:50%;background:rgba(51,148,50,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.invitation-notification .notification-content{flex:1}.invitation-notification .notification-title{font-weight:600;color:var(--color-text);margin:0 0 4px}.invitation-notification .notification-message{font-size:13px;color:var(--color-muted);margin:0}.invitation-notification .notification-actions{display:flex;gap:var(--space-2)}.invitation-notification .btn-accept,.invitation-notification .btn-decline{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.invitation-notification .btn-accept{background:var(--color-primary);color:#fff}.invitation-notification .btn-accept:hover{background:var(--color-primary-solid)}.invitation-notification .btn-decline{background:rgba(225,85,74,.1);color:var(--color-alert)}.invitation-notification .btn-decline:hover{background:rgba(225,85,74,.2)}.mobile-app-card{background:linear-gradient(135deg,rgba(51,148,50,.08) 0%,rgba(51,148,50,.03) 100%);border-radius:20px;border:2px solid rgba(51,148,50,.2);padding:28px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 16px #3394321f;transition:all var(--transition-fast);position:relative;overflow:hidden}.mobile-app-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,#2d8040 100%)}.mobile-app-card:hover{border-color:#3394324d;box-shadow:0 6px 20px #33943226;transform:translateY(-2px)}.mobile-app-content{display:flex;align-items:flex-start;gap:20px}.mobile-app-icon{color:var(--color-primary-solid);flex-shrink:0;margin-top:4px;background:white;padding:12px;border-radius:14px;box-shadow:0 2px 8px #33943226;transition:all var(--transition-fast)}.mobile-app-card:hover .mobile-app-icon{transform:scale(1.05);box-shadow:0 4px 12px #33943233}.mobile-app-text{flex:1}.mobile-app-title{font-family:Abril Fatface,serif;font-size:22px;color:var(--color-secondary);margin:0 0 10px;font-weight:400;letter-spacing:-.3px}.mobile-app-description{font-family:Montserrat,sans-serif;font-size:14px;line-height:1.6;color:var(--color-muted);margin:0;font-weight:500}.btn-install-app{background:var(--color-primary);color:#fff;border:none;border-radius:12px;padding:14px 20px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-fast);width:100%;justify-content:center;box-shadow:0 2px 8px #33943240}.btn-install-app:hover{background:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #33943259}.btn-install-app:active{transform:translateY(0);box-shadow:0 2px 6px #33943240}.btn-install-app:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.app-installed-status{display:flex;align-items:center;gap:var(--space-2);padding:14px 20px;background:rgba(51,148,50,.12);color:var(--color-primary-solid);border-radius:12px;font-size:16px;font-weight:600;border:2px solid rgba(51,148,50,.3);width:100%;justify-content:center;box-shadow:0 2px 6px #33943226}@media (max-width: 480px){.mobile-app-card{padding:20px}.mobile-app-content{flex-direction:column;align-items:center;text-align:center;gap:12px}.mobile-app-icon{margin-top:0}.mobile-app-title{font-size:18px}.mobile-app-description{font-size:13px}.btn-install-app,.app-installed-status{padding:12px 16px;font-size:15px}}.revoke-otp-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin:var(--space-4) 0;padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border)}.otp-input-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%}.otp-input-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}.otp-input-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.otp-revoke-input{width:220px!important;height:52px!important;text-align:center;font-size:28px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;border:2px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);transition:var(--transition-fast);letter-spacing:8px;padding:0 12px}.otp-revoke-input:focus{outline:none;border-color:var(--color-primary);background:rgba(51,148,50,.05);box-shadow:0 0 0 3px #3394321a}.otp-revoke-input:valid{border-color:var(--color-primary);background:rgba(51,148,50,.1)}.otp-input-dots{display:flex;gap:10px;margin-top:6px}.otp-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:var(--transition-fast);display:inline-block}.otp-dot.filled{background:var(--color-primary);box-shadow:0 0 8px #3394324d}.otp-status{text-align:center;margin-top:var(--space-2)}.otp-length-indicator{font-size:13px;color:var(--color-muted);font-weight:500;padding:var(--space-2) var(--space-3);background:rgba(107,125,117,.1);border-radius:20px;transition:var(--transition-fast)}.otp-length-indicator.complete{color:var(--color-primary);background:rgba(51,148,50,.1);font-weight:600}@media (max-width: 480px){.revoke-otp-container{margin:var(--space-3) 0;padding:var(--space-3)}.otp-revoke-input{width:200px!important;height:48px!important;font-size:24px;letter-spacing:6px}.otp-input-row{gap:var(--space-1)}.otp-input-dots{gap:8px}.otp-dot{width:6px;height:6px}}@media (max-width: 320px){.otp-revoke-input{width:180px!important;height:44px!important;font-size:20px;letter-spacing:5px}.otp-input-row{gap:4px}}@media (min-width: 1024px){.profile-root{padding-bottom:0}.bottom-nav{display:none}.profile-header{padding:var(--space-6) var(--space-6) var(--space-6);border-radius:0 0 24px 24px}.profile-avatar{width:128px;height:128px;border:4px solid rgba(255,255,255,.4)}.profile-username{font-size:40px}.profile-email{font-size:17px}.profile-main{max-width:1200px;margin:0 auto;padding:var(--space-6);gap:var(--space-6)}.section-title{font-size:28px}.stats-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{padding:var(--space-5);transition:all var(--transition-fast)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0000001f}.stat-icon{width:56px;height:56px;border-radius:14px}.stat-value{font-size:28px}.stat-label{font-size:14px}.info-card{transition:all var(--transition-fast)}.info-card:hover{box-shadow:0 4px 12px #0000001a}.info-row{padding:20px 18px}.info-label,.info-value{font-size:17px}.btn-share-new{padding:14px 20px;font-size:17px;border-radius:14px}.btn-share-new:hover{transform:translateY(-3px);box-shadow:0 6px 16px #3394324d}.shared-list{gap:var(--space-5)}.shared-item{padding:var(--space-5);transition:all var(--transition-fast)}.shared-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.shared-device-name{font-size:18px}.shared-device-id{font-size:15px}.permission-badge{padding:6px 12px;font-size:12px}.shared-user-info{font-size:17px}.shared-date{font-size:15px}.btn-revoke{padding:14px 18px;font-size:17px}.settings-list{padding:6px}.setting-item{padding:20px 18px}.setting-icon{width:32px;height:32px}.setting-label{font-size:17px}.btn-logout{padding:20px 18px;font-size:17px}.btn-logout:hover{transform:translateY(-3px);box-shadow:0 6px 16px #e1554a4d}.modal-content{max-width:600px;border-radius:20px}.invitation-item{transition:all var(--transition-fast)}.invitation-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.empty-state{padding:var(--space-6)}.share-info-banner{padding:var(--space-5)}.share-info-banner p{font-size:17px}}@media (min-width: 1440px){.profile-main{max-width:1400px;padding:var(--space-6) var(--space-6) var(--space-6)}.profile-header{border-radius:0 0 28px 28px}.profile-avatar{width:144px;height:144px}.profile-username{font-size:44px}.section-title{font-size:32px}.stats-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1920px){.profile-main{max-width:1600px}}.shared-access-section{background:transparent;display:flex;flex-direction:column;align-items:stretch;gap:20px}.access-cards-wrapper{display:flex;flex-direction:column;gap:12px;max-width:1200px;width:100%;margin:0 auto}.access-card{background:var(--color-surface);border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:16px 18px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 8px #0000000f,0 1px 2px #00000008;position:relative;isolation:isolate;transition:var(--transition-fast);font-family:Montserrat,sans-serif}.access-card:hover{box-shadow:0 8px 16px #0000001a,0 2px 4px #0000000f;transform:translateY(-2px)}.access-card:active{transform:translateY(-1px)}.access-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.access-title{font-size:16px;font-weight:600;letter-spacing:.2px;margin:0;color:var(--color-secondary)}.status-badge{width:12px;height:12px;border-radius:50%;margin-top:2px;box-shadow:0 0 0 3px var(--color-surface);border:2px solid var(--color-surface)}.status-active{background:var(--color-primary-solid);display:none}.status-pending{background:var(--color-warning)}.status-inactive{background:var(--color-alert)}.access-email-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text);font-weight:500}.access-email-row svg{color:var(--color-primary)}.access-email{font-weight:600}.access-meta{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--color-muted)}.access-meta span{display:inline-flex;align-items:center;gap:4px}.access-permission{font-style:italic;color:var(--color-muted)}.access-divider{height:1px;width:100%;background:var(--color-border);opacity:.6;margin:2px 0}.access-actions{display:flex;justify-content:flex-end}.btn-revoke{background:rgba(225,85,74,.1);color:var(--color-alert);border:1px solid rgba(225,85,74,.2);border-radius:8px;padding:6px 12px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all var(--transition-fast)}.btn-revoke:hover{background:var(--color-alert);color:#fff;border-color:var(--color-alert);transform:translateY(-1px)}.btn-revoke:active{transform:translateY(0)}.pending-invitations-section{display:flex;flex-direction:column;gap:10px;margin-top:16px;max-width:1200px;width:100%;margin-left:auto;margin-right:auto}.invite-row{background:var(--color-surface);border:1px solid rgba(0,0,0,.06);padding:12px 16px;border-radius:16px;display:flex;align-items:center;gap:12px;font-family:Montserrat,sans-serif;font-size:13px;box-shadow:0 2px 8px #0000000f,0 1px 2px #00000008;transition:var(--transition-fast)}.invite-row:hover{box-shadow:0 8px 16px #0000001a,0 2px 4px #0000000f;transform:translateY(-2px)}.invite-main{display:flex;flex:1;flex-direction:column;gap:6px}.invite-line{display:flex;align-items:center;gap:6px}.invite-email{font-weight:600;color:var(--color-text)}.invite-device{color:var(--color-muted);font-weight:500}.invite-status{font-size:11px;font-weight:600;color:var(--color-warning);background:rgba(245,158,11,.12);padding:4px 8px;border-radius:6px}.invite-actions{display:flex;align-items:center;gap:8px}.btn-cancel{background:none;color:var(--color-muted);border:1px solid var(--color-border);border-radius:8px;padding:6px 14px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-cancel:hover{background:var(--color-background);border-color:var(--color-muted);transform:translateY(-1px)}.btn-cancel:active{transform:translateY(0)}.btn-resend{background:rgba(51,148,50,.1);color:var(--color-primary);border:1px solid rgba(51,148,50,.2);border-radius:8px;padding:6px 14px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn-resend:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px)}.btn-resend:active{transform:translateY(0)}.btn-resend:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-resend:disabled:hover{background:rgba(51,148,50,.1);color:var(--color-primary);border-color:#33943233;transform:none}@media (max-width: 768px){.access-card{padding:16px 16px 12px}.access-title{font-size:15px}.access-meta{flex-direction:column;align-items:flex-start}.access-actions{justify-content:flex-start}.btn-revoke{width:100%;justify-content:center}.invite-row{flex-direction:column;align-items:flex-start}.invite-actions{width:100%}.btn-cancel,.btn-resend{flex:1;min-width:0;justify-content:center}}@media (max-width: 480px){.access-cards-wrapper,.pending-invitations-section{max-width:100%}.access-card{border-radius:16px}}@media (prefers-reduced-motion: reduce){.access-card,.invite-row{transition:none}.access-card:hover,.invite-row:hover{transform:none}}.access-card-owner{border-left:4px solid var(--color-primary);padding-left:16px}.access-card-shared{border-left:4px solid var(--color-secondary);padding-left:16px}.pwa-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out;pointer-events:auto;-webkit-tap-highlight-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pwa-modal-container{background:white;border-radius:16px;padding:24px;max-width:400px;width:100%;box-shadow:0 20px 40px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pwa-modal-title{margin:0;color:#2f3e46;display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600}.pwa-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#666;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pwa-modal-close:hover{background-color:#0000000d;color:#333}.pwa-modal-close:active{transform:scale(.95)}.pwa-modal-content{margin-bottom:20px}.pwa-modal-content p{color:#666;margin-bottom:16px;line-height:1.5;font-size:15px}.pwa-modal-actions{display:flex;gap:12px}.pwa-btn-cancel{flex:1;padding:12px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Montserrat,sans-serif}.pwa-btn-cancel:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pwa-btn-cancel:active{transform:translateY(0);box-shadow:none}.pwa-btn-install{flex:1;padding:12px;background:#339432;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Montserrat,sans-serif}.pwa-btn-install:hover{background:#2d7f2b;transform:translateY(-1px);box-shadow:0 4px 8px #3394324d}.pwa-btn-install:active{transform:translateY(0);box-shadow:0 2px 4px #33943233}.pwa-instructions-list{list-style:none;padding:0;margin:16px 0}.pwa-instructions-list li{padding:12px;background:#f9fafb;border-radius:8px;margin-bottom:8px;color:#374151;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.pwa-instructions-list li:before{content:"•";color:#339432;font-weight:700;font-size:18px;flex-shrink:0}.pwa-instructions-list li:last-child{margin-bottom:0}.pwa-info-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px;display:flex;gap:10px;margin-top:16px}.pwa-info-note p{margin:0;color:#1e40af;font-size:13px;line-height:1.5}@media (max-width: 480px){.pwa-modal-container{padding:20px}.pwa-modal-title{font-size:18px}.pwa-modal-actions{flex-direction:column}.pwa-btn-cancel,.pwa-btn-install{width:100%}}.otp-root{display:flex;gap:12px;justify-content:center;margin-top:20px;margin-bottom:8px;position:relative;z-index:2}.otp-wrapper-center{width:100%;display:flex;justify-content:center;align-items:center}.otp-root.otp-variant-light .otp-cell{background:#ffffff;border:2px solid #1b5e20;color:#1b5e20}.otp-root.otp-variant-light .otp-cell:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d3240}.otp-root.otp-variant-light.error .otp-cell{border-color:#d32f2f;color:#d32f2f}.otp-root.otp-variant-dark .otp-cell{background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.35);color:#fff}.otp-root.otp-variant-dark .otp-cell:focus{border-color:#7ae68a;box-shadow:0 0 0 4px #7ae68a47,0 4px 18px #0006}.otp-root.otp-variant-dark.error .otp-cell{border-color:#ff6b6b;color:#ffb3b3;background:rgba(77,0,0,.5)}.otp-cell{width:56px;height:64px;background:rgba(255,255,255,.95);border:2px solid rgba(0,0,0,.15);border-radius:14px;color:#016b22;font-size:32px;font-weight:700;text-align:center;caret-color:#4a9b4d;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none;box-shadow:0 4px 12px #0003,inset 0 1px 2px #ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative}.otp-cell:hover:not(:disabled){background:rgba(255,255,255,1);border-color:#4a9b4d;transform:translateY(-2px);box-shadow:0 6px 16px #00000040,inset 0 1px 2px #fffc}.otp-cell:focus{background:rgba(255,255,255,1);border-color:#4a9b4d;box-shadow:0 0 0 4px #4a9b4d4d,0 4px 20px #0000004d;transform:scale(1.05)}.otp-cell[data-filled=true]{background:rgba(255,255,255,1);border-color:#4a9b4d;border-width:3px;box-shadow:0 4px 16px #4a9b4d66,inset 0 1px 3px #4a9b4d33;animation:otp-pop .3s cubic-bezier(.68,-.55,.265,1.55)}.otp-cell[data-filled=true]:focus{box-shadow:0 0 0 4px #4a9b4d59,0 4px 20px #4a9b4d66}.otp-cell:disabled{opacity:.6;cursor:not-allowed;background:rgba(255,255,255,.7);border-color:#ffffff80}.otp-root.error .otp-cell{background:rgba(255,230,230,.95);border-color:#d9534f;border-width:3px;color:#c62828;animation:otp-shake .4s cubic-bezier(.36,.07,.19,.97);box-shadow:0 0 0 3px #d9534f4d,0 4px 16px #d9534f66}.otp-root.error .otp-cell:focus{box-shadow:0 0 0 4px #d9534f66,0 4px 20px #d9534f80}@keyframes otp-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}@keyframes otp-pop{0%{transform:scale(.92)}50%{transform:scale(1.08)}to{transform:scale(1)}}@media (max-width: 520px){.otp-root{gap:10px;margin-top:16px}.otp-cell{width:48px;height:56px;font-size:28px;border-radius:12px}}@media (max-width: 400px){.otp-root{gap:8px}.otp-cell{width:42px;height:52px;font-size:24px;border-radius:10px}}@media (prefers-reduced-motion: reduce){.otp-cell,.otp-root.error .otp-cell,.otp-cell[data-filled=true]{animation:none!important;transition:none!important}}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #2E7D32;--color-bg: #F8F9FA;--color-surface: #FFFFFF;--color-text: #1A1A1A;--color-muted: #6B7280;--color-border: #E5E7EB;--color-success: rgba(51, 148, 50, .9);--color-error: #DC2626;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font-display: "Playfair Display", serif;--font-body: "Montserrat", sans-serif;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--transition-fast: .16s cubic-bezier(.4,0,.2,1);--transition-med: .28s cubic-bezier(.4,0,.2,1)}.start-cycle-root{min-height:100vh;background:radial-gradient(circle at top right,rgba(51,148,50,.03) 0%,transparent 50%),radial-gradient(circle at bottom left,rgba(51,148,50,.02) 0%,transparent 50%),linear-gradient(180deg,#ffffff 0%,#f8f9fa 100%);display:flex;flex-direction:column;padding-bottom:120px}.start-cycle-header{padding:16px 20px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #0000000a,0 1px 3px #0000000f;border-bottom:1px solid rgba(51,148,50,.1)}.back-button{background:linear-gradient(135deg,rgba(51,148,50,.08) 0%,rgba(51,148,50,.04) 100%);border:1.5px solid rgba(51,148,50,.15);padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.back-button:hover{background:linear-gradient(135deg,rgba(51,148,50,.12) 0%,rgba(51,148,50,.06) 100%);border-color:var(--color-primary);transform:translate(-3px);box-shadow:0 2px 8px #33943226}.back-button:active{transform:translate(-2px) scale(.98)}.start-cycle-content{flex:1;padding:28px 20px}.start-cycle-grid{display:grid;grid-template-columns:1fr;gap:20px}.sc-left,.sc-right{min-width:0}.cycle-title{font-family:Abril Fatface,serif;font-size:36px;font-weight:400;color:var(--color-text);margin:0 0 12px;line-height:1.2;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cycle-subtitle{font-family:Montserrat,sans-serif;font-size:15px;font-weight:500;color:var(--color-muted);line-height:1.6;margin:0 0 28px}.search-container{position:relative;display:flex;align-items:center;gap:14px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:16px;padding:16px 20px;margin-bottom:24px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a}.search-container:focus-within{border-color:var(--color-primary);box-shadow:0 4px 16px #3394321f,0 2px 6px #0000000f;background:linear-gradient(135deg,rgba(51,148,50,.02) 0%,white 100%)}.search-input{flex:1;border:none;outline:none;font-family:Montserrat,sans-serif;font-size:15px;font-weight:500;color:var(--color-text);background:transparent}.search-input::placeholder{color:var(--color-muted);font-weight:500}.plant-list{display:flex;flex-direction:column;gap:var(--space-3)}.plant-item{background:var(--color-surface);border:2px solid rgba(0,0,0,.06);border-radius:16px;border-left:4px solid transparent;padding:20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d,0 1px 3px #00000008;position:relative;overflow:hidden}.plant-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--color-primary) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.plant-item:hover{transform:translateY(-2px);border-color:var(--color-primary);border-left-color:var(--color-primary);box-shadow:0 4px 16px #33943226,0 2px 6px #0000000f}.plant-item:hover:before{opacity:1}.plant-item:active{transform:translateY(0) scale(.99)}.plant-item.selected{background:linear-gradient(135deg,rgba(51,148,50,.12) 0%,rgba(51,148,50,.06) 100%);border:3px solid var(--color-primary);border-left-width:6px;box-shadow:0 6px 24px #33943240,0 3px 10px #33943226,inset 0 1px #ffffff80;transform:translateY(-2px) scale(1.02)}.plant-item.selected:before{opacity:1;background:linear-gradient(90deg,var(--color-primary) 0%,#2d8028 50%,var(--color-primary) 100%);height:4px}.plant-item.selected:after{content:"✓ SELECTED";position:absolute;top:12px;right:12px;background:linear-gradient(135deg,var(--color-primary) 0%,#2d8028 100%);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;padding:4px 10px;border-radius:8px;box-shadow:0 2px 8px #3394324d}.plant-info{display:flex;align-items:center;gap:var(--space-4)}.plant-emoji{font-size:48px;line-height:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(51,148,50,.08) 0%,rgba(51,148,50,.04) 100%);width:68px;height:68px;border-radius:14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.plant-item:hover .plant-emoji{background:linear-gradient(135deg,rgba(51,148,50,.12) 0%,rgba(51,148,50,.06) 100%);transform:scale(1.05)}.plant-item.selected .plant-emoji{background:linear-gradient(135deg,rgba(51,148,50,.15) 0%,rgba(51,148,50,.08) 100%);transform:scale(1.05)}.plant-text{display:flex;flex-direction:column;gap:6px}.plant-name{font-family:Montserrat,sans-serif;font-size:16px;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.plant-item:hover .plant-name{color:var(--color-primary)}.plant-category{font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;color:var(--color-muted);padding:3px 8px;background:rgba(0,0,0,.04);border-radius:6px;display:inline-block;align-self:flex-start}.add-button{width:44px;height:44px;border-radius:12px;border:2.5px solid var(--color-primary);background:linear-gradient(135deg,rgba(51,148,50,.08) 0%,white 100%);color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:0 2px 6px #33943226}.add-button:hover{background:linear-gradient(135deg,rgba(51,148,50,.12) 0%,white 100%);transform:scale(1.08);box-shadow:0 4px 12px #33943240}.add-button.added{background:linear-gradient(135deg,var(--color-primary) 0%,#2d8028 100%);color:#fff;border-color:var(--color-primary);border-width:3px;box-shadow:0 6px 20px #33943266,0 2px 8px #0000001a,inset 0 1px 2px #ffffff4d;animation:selectedPulse 2s ease-in-out infinite}@keyframes selectedPulse{0%,to{box-shadow:0 6px 20px #33943266,0 2px 8px #0000001a,inset 0 1px 2px #ffffff4d}50%{box-shadow:0 8px 28px #33943280,0 4px 12px #00000026,inset 0 1px 2px #ffffff4d}}.add-button.added svg{transform:rotate(45deg);animation:checkRotate .4s cubic-bezier(.4,0,.2,1)}@keyframes checkRotate{0%{transform:rotate(0) scale(.8)}50%{transform:rotate(25deg) scale(1.2)}to{transform:rotate(45deg) scale(1)}}.add-button:active,.add-button.added:active{transform:scale(.96)}.no-results{text-align:center;padding:var(--space-6);color:var(--color-muted);font-family:var(--font-body);font-size:15px}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:16px;box-shadow:var(--shadow-md)}.summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.summary-header h2{margin:0;font-family:Montserrat,sans-serif;font-size:16px;font-weight:800;letter-spacing:-.01em}.selected-pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,#2d8028 100%)}.selected-pill.muted{background:#eef2f7;color:#64748b}.summary-plant{margin:8px 0 12px}.summary-plant-row{display:flex;align-items:center;gap:12px}.summary-placeholder{color:var(--color-muted);font-size:14px;margin:0}.date-block{margin-top:8px;display:flex;flex-direction:column}.date-label.with-icon{display:inline-flex;align-items:center;gap:8px}.quick-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.preset-chip{border:1px solid var(--color-border);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.preset-chip:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #33943226;transform:translateY(-1px)}.hint{margin-top:8px;color:var(--color-muted);font-size:12px}.error-box{margin-top:12px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:10px 12px;border-radius:12px;font-weight:600}.summary-action{margin-top:14px}.date-row{display:flex;gap:14px;width:100%}.date-field{flex:1;display:flex;flex-direction:column;gap:8px}.date-label{font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;padding-left:4px}.date-input{width:100%;padding:14px 16px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:14px;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;color:var(--color-text);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000a;cursor:pointer}.date-input:hover{border-color:#33943266;background:linear-gradient(135deg,rgba(51,148,50,.02) 0%,white 100%)}.date-input:focus{outline:none;border-color:var(--color-primary);background:linear-gradient(135deg,rgba(51,148,50,.04) 0%,white 100%);box-shadow:0 4px 12px #33943226,0 2px 6px #0000000f;transform:translateY(-1px)}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;filter:invert(38%) sepia(47%) saturate(865%) hue-rotate(89deg) brightness(95%) contrast(91%)}.date-input::-webkit-calendar-picker-indicator:hover{background:rgba(51,148,50,.1);transform:scale(1.15)}.start-button{width:100%;padding:18px;background:linear-gradient(135deg,var(--color-primary) 0%,#2d8028 100%);color:#fff;border:none;border-radius:16px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #3394324d,0 2px 6px #00000014;position:relative;overflow:hidden}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.start-button:hover:before{left:100%}.start-button:hover{background:linear-gradient(135deg,#2d8028 0%,var(--color-primary) 100%);transform:translateY(-2px);box-shadow:0 6px 20px #33943266,0 3px 8px #0000001a}.start-button:active{transform:translateY(0) scale(.99);box-shadow:0 3px 12px #33943240,0 1px 4px #0000000f}.start-button:disabled{background:linear-gradient(135deg,#d1d5db 0%,#9ca3af 100%);color:#6b7280;cursor:not-allowed;box-shadow:none;transform:none;opacity:.6}.start-button:disabled:before{display:none}.help-text{text-align:center;font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;color:var(--color-primary);margin:0;padding:8px 12px;background:linear-gradient(135deg,rgba(51,148,50,.08) 0%,rgba(51,148,50,.04) 100%);border-radius:10px;letter-spacing:.02em;border:1px solid rgba(51,148,50,.15)}.message-link{color:var(--color-primary);text-decoration:underline;font-weight:700;transition:color .2s ease}.message-link:hover{color:#2d8028}@media (min-width: 768px){.start-cycle-content{max-width:1100px;margin:0 auto;width:100%}.start-cycle-grid{grid-template-columns:1fr 360px;align-items:start}.summary-card{position:sticky;top:84px}}@media (max-width: 767px){.start-cycle-root{padding-bottom:40px}.date-input{font-size:16px}}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #2E7D32;--color-bg: #F8F9FA;--color-surface: #FFFFFF;--color-text: rgba(17, 17, 17, .86);--color-muted: #6B7280;--color-border: #E5E7EB;--color-danger: #DC2626;--color-warning: #F59E0B;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font-display: "Playfair Display", serif;--font-body: "Montserrat", sans-serif;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--transition-fast: .16s cubic-bezier(.4,0,.2,1)}.privacy-security-root{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column;padding-bottom:var(--space-6)}.privacy-security-header{padding:var(--space-4);background:var(--color-surface);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;box-shadow:var(--shadow-sm)}.back-button{background:none;border:none;padding:var(--space-2);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background var(--transition-fast)}.back-button:hover{background:rgba(0,0,0,.05)}.back-button:active{transform:scale(.95)}.privacy-security-header-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--color-text);margin:0}.privacy-security-content{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.settings-section{background:var(--color-surface);border-radius:16px;padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4)}.settings-section.danger-zone{border:2px solid rgba(220,38,38,.2);background:rgba(220,38,38,.02)}.section-header{display:flex;align-items:center;gap:var(--space-3)}.section-title{font-family:var(--font-body);font-size:18px;font-weight:600;color:var(--color-text);margin:0}.section-title.danger{color:var(--color-danger)}.section-description{font-family:var(--font-body);font-size:14px;color:var(--color-muted);margin:0;line-height:1.5}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.settings-item:last-of-type{border-bottom:none;padding-bottom:0}.settings-item:first-of-type{padding-top:0}.settings-item-left{display:flex;align-items:flex-start;gap:var(--space-3);flex:1}.settings-item-text{display:flex;flex-direction:column;gap:4px;flex:1}.settings-label{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--color-text);line-height:1.4}.settings-description{font-family:var(--font-body);font-size:13px;color:var(--color-muted);line-height:1.4}.toggle-switch{position:relative;display:inline-block;width:48px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:var(--transition-fast);border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:var(--transition-fast);border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.select-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition-fast);min-width:120px}.select-input:focus{outline:none;border-color:var(--color-primary)}.auto-logout-time{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:rgba(51,148,50,.05);border-radius:8px;border-left:3px solid var(--color-primary)}.time-label{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text)}.action-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:10px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none}.action-button.primary{background:var(--color-primary);color:#fff}.action-button.secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.action-button.danger{background:var(--color-danger);color:#fff}.action-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.action-button:active{transform:translateY(0)}.info-box{display:flex;gap:var(--space-3);padding:var(--space-4);background:rgba(59,130,246,.05);border-radius:10px;border-left:3px solid #3B82F6}.info-box.danger{background:rgba(220,38,38,.05);border-left-color:var(--color-danger)}.info-text{display:flex;flex-direction:column;gap:4px}.info-title{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-text)}.info-description{font-family:var(--font-body);font-size:13px;color:var(--color-muted);line-height:1.4}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlayFadeIn .25s cubic-bezier(.4,0,.2,1)}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.modal-content{background:var(--color-surface);border-radius:20px;padding:32px;max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d,0 8px 24px #00000026;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.modal-title{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--color-text);margin:0;text-align:center}.modal-description{font-family:var(--font-body);font-size:14px;color:var(--color-muted);line-height:1.5;text-align:center;margin:0 0 var(--space-5) 0}.modal-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-text)}.form-input{padding:var(--space-3);border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-body);font-size:14px;color:var(--color-text);transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3394321a}.modal-actions{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.modal-button{flex:1;padding:12px 20px;border-radius:12px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none}.modal-button.primary{background:linear-gradient(135deg,var(--color-primary) 0%,#2d8040 100%);color:#fff;box-shadow:0 2px 8px #33943240}.modal-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #33943259}.modal-button.secondary{background:var(--color-bg);color:var(--color-text);border:1.5px solid var(--color-border)}.modal-button.secondary:hover{background:#f8faf9;border-color:var(--color-muted);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.modal-button.danger{background:linear-gradient(135deg,var(--color-danger) 0%,#c92a2a 100%);color:#fff;box-shadow:0 2px 8px #dc262640}.modal-button.danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dc262659}.modal-button:active{transform:translateY(0)}@media (min-width: 768px){.privacy-security-content{max-width:600px;margin:0 auto;width:100%}}:root{--color-primary: rgba(51, 148, 50, .9);--color-primary-solid: #339432;--color-secondary: #1E3E28;--color-bg: #F5FDF6;--color-surface: #FFFFFF;--color-border: #E8F1EA;--color-muted: #8BA797;--radius-lg: 16px;--shadow: 0 8px 24px rgba(0,0,0,.08);--user-sidebar-width: 280px}.user-layout-root{display:flex;min-height:100vh;background:var(--color-bg);color:#111;position:relative}.user-sidebar{display:none}.user-main-content{flex:1;width:100%;min-width:0;padding-top:0;padding-bottom:80px}.user-bottom-nav{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--color-surface);border-top:1px solid var(--color-border);z-index:1600;box-shadow:0 -2px 8px #0000000a}.user-nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-muted);cursor:pointer;padding:6px 8px;transition:color .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1);position:relative;flex:1;max-width:100px}.user-nav-item.active{color:var(--color-primary);transform:scale(1.05)}.user-nav-item:active{transform:scale(.94)}.user-nav-notification-badge{position:absolute;top:8px;right:18px;background-color:#e74c3c;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700;border:2px solid white;min-width:16px;box-shadow:0 2px 4px #0003}@media (min-width: 1024px){.user-sidebar{display:flex;flex-direction:column;width:var(--user-sidebar-width);background:linear-gradient(180deg,#2f8d2e 0%,#2bb35e 100%);border-right:1px solid rgba(255,255,255,.08);padding:32px 20px;position:fixed;top:0;left:0;height:100vh;box-shadow:0 6px 30px #0000001f;color:#fff;overflow-y:auto;flex-shrink:0;z-index:1000}.user-brand{display:flex;align-items:center;gap:12px;padding:8px 12px;color:#fff;margin-bottom:20px;min-height:64px}.user-brand-logo{width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;overflow:visible;flex-shrink:0;position:relative}.user-brand-logo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;max-width:100%;max-height:100%}.user-brand-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.user-brand-name{font-family:Montserrat,sans-serif;font-size:20px;font-weight:800;letter-spacing:.5px;color:#fff;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;text-transform:uppercase}.user-brand-subtitle{font-family:Montserrat,sans-serif;font-size:12px;font-weight:500;color:#ffffffd9;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-side-nav-label{font-size:12px;font-weight:700;color:#fff9;letter-spacing:1px;text-transform:uppercase;margin:20px 14px 10px}.user-side-nav{display:flex;flex-direction:column;gap:6px;margin-top:18px;margin-bottom:auto}.user-side-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:#ffffffe6;font-weight:600;font-size:15px;transition:all .2s ease;text-decoration:none;white-space:nowrap;position:relative}.user-side-link:hover{background:rgba(255,255,255,.1);transform:translate(2px)}.user-side-link.active{background:rgba(255,255,255,.2);border-color:#ffffff26;color:#fff;font-weight:700;box-shadow:0 2px 8px #0000001a}.user-side-link:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.user-nav-badge{position:absolute;top:12px;right:14px;min-width:20px;height:20px;background:#ef5350;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 6px;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 6px #00000040;line-height:1}.user-sidebar-footer{display:flex;flex-direction:column;gap:12px;padding-top:24px;margin-top:auto;border-top:1px solid rgba(255,255,255,.15)}.user-info-section{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.12);border-radius:12px;border:1px solid rgba(255,255,255,.15)}.user-avatar-circle{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.user-info-text{display:flex;flex-direction:column;flex:1;min-width:0}.user-info-name{font-size:15px;font-weight:700;color:#fff;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-info-email{font-size:12px;font-weight:500;color:#ffffffbf;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;background:rgba(231,76,60,.2);border:1px solid rgba(231,76,60,.35);border-radius:12px;color:#fff;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease}.user-logout-btn:hover{background:rgba(231,76,60,.3);border-color:#e74c3c80;transform:translateY(-1px);box-shadow:0 3px 10px #e74c3c59}.user-logout-btn:active{transform:translateY(0);box-shadow:0 1px 4px #e74c3c40}.user-logout-btn:focus-visible{outline:2px solid rgba(231,76,60,.6);outline-offset:2px}.user-bottom-nav{display:none}.user-main-content{margin-left:var(--user-sidebar-width);padding-bottom:40px;width:calc(100% - var(--user-sidebar-width))}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.confirm-modal{background:#fff;width:100%;max-width:520px;border-radius:16px;border:1px solid #E8F1EA;box-shadow:0 8px 24px #00000014;padding:20px 24px}.confirm-modal h3{margin:0 0 8px;font-size:20px;font-weight:800}.confirm-modal p{margin:0 0 16px;color:#4b5563;line-height:1.6}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{border:2px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.confirm-primary{background:#339432;color:#fff}.confirm-secondary{background:#f3f4f6;color:#374151}}@media (min-width: 1024px) and (max-width: 1279px){.user-brand-name{font-size:18px;letter-spacing:.4px}.user-brand-subtitle{font-size:11px}}@media (min-width: 768px) and (max-width: 1023px){.user-sidebar{display:none}.user-main-content{margin-left:0;width:100%;padding-bottom:96px}.user-bottom-nav{display:flex}}@media (min-width: 1440px){.user-sidebar{width:300px;padding:36px 24px}.user-brand{margin-bottom:36px}.user-brand-logo{width:60px;height:60px;min-width:60px;min-height:60px}.user-brand-name{font-size:26px}.user-side-link{font-size:17px;padding:18px 20px}.user-main-content{margin-left:300px;width:calc(100% - 300px)}}.user-side-link:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.user-logout-btn:focus-visible{outline:2px solid rgba(239,83,80,.6);outline-offset:2px}.user-nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.user-side-nav{animation:slideIn .3s ease-out}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}:root{--color-primary: #339432;--color-white: #ffffff;--color-text: #111111;--color-muted: #6b7280;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px}:root{--font-family-heading: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-family-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--fs-display: clamp(28px, 5vw, 48px);--fs-h1: clamp(24px, 4vw, 36px);--fs-h2: clamp(20px, 3.2vw, 28px);--fs-h3: clamp(18px, 3vw, 24px);--fs-body: clamp(14px, 1.8vw, 16px);--fs-small: clamp(12px, 1.6vw, 14px)}body{font-family:var(--font-family-body)}.h-display{font-family:var(--font-family-heading);font-weight:700;font-size:var(--fs-display);line-height:1.08;letter-spacing:-.01em}.h1{font-family:var(--font-family-heading);font-weight:700;font-size:var(--fs-h1);line-height:1.18;letter-spacing:-.01em}.h2{font-family:var(--font-family-heading);font-weight:600;font-size:var(--fs-h2);line-height:1.22;letter-spacing:-.005em}.h3{font-family:var(--font-family-heading);font-weight:600;font-size:var(--fs-h3);line-height:1.28}.body{font-weight:400;font-size:var(--fs-body);line-height:1.6}.small{font-weight:400;font-size:var(--fs-small);line-height:1.6;color:var(--color-muted)}*{box-sizing:border-box}html,body,#root{height:100%}img{max-width:100%;display:block}button{font-family:inherit}.text-center{text-align:center}.text-muted{color:var(--color-muted)}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 var(--space-4)}body{margin:0;background:radial-gradient(1000px 500px at 95% -10%,rgba(51,148,50,.08),transparent),radial-gradient(800px 400px at 0% 110%,rgba(51,148,50,.06),transparent),#ffffff;background-attachment:fixed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;border-radius:var(--radius-lg);padding:14px 20px;font-weight:700;transition:transform .05s ease,opacity .2s ease,box-shadow .2s ease;font-family:var(--font-family-heading);letter-spacing:.01em}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:0 6px 16px #33943233}.btn-primary:hover{filter:brightness(1.03);box-shadow:0 10px 22px #33943240}.btn-primary:focus-visible{outline:3px solid rgba(51,148,50,.3)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:rgba(51,148,50,.06)}.input{width:100%;padding:14px 16px;border:1px solid #e5e7eb;border-radius:var(--radius-md);font-size:var(--fs-body)}.input:focus{outline:3px solid rgba(51,148,50,.25);border-color:var(--color-primary)}.input.error{border-color:#ef4444;outline-color:#ef444433}.error-text{color:#b91c1c;font-size:var(--fs-small);margin-top:6px}.success-text{color:#15803d;font-size:var(--fs-small);margin-top:6px}.card{background:white;border-radius:24px;box-shadow:0 20px 60px #00000014;padding:clamp(20px,4.5vw,36px);border:1px solid rgba(17,17,17,.04)}.btn-gradient{background:linear-gradient(180deg,#9ddaa0 0%,#339432 100%);color:#fff;border:none}.back-btn{background:transparent;border:0;color:var(--color-primary);display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:12px}.back-btn:hover{background:rgba(51,148,50,.06)}.back-btn:focus-visible{outline:3px solid rgba(51,148,50,.25)}.otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.otp-box{text-align:center;font-size:20px;padding:12px 0}.card>form,.card>div{width:100%}.input-wrapper{position:relative}.input.with-icon{padding-left:42px}.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin,.spinner{animation:spin 1s linear infinite}@media (max-width: 480px){.card{border-radius:18px;padding:18px;box-shadow:0 12px 36px #00000014}.btn{padding:12px 16px}}
