/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--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 #0000001a;--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));width:var(--toastify-container-width);box-sizing:border-box;color:#fff;flex-direction:column;display:flex;position:fixed}.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);align-items:center;left:50%;transform:translate(-50%)}.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);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0px;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;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;word-break:break-word;flex:auto;align-items:center;margin-bottom:1rem;display:flex;position:relative}@media only screen and (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%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (width<=480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{width:100%;transform:translate3d(0, var(--y), 0) scale(var(--s));transition:transform .3s;position:absolute}.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:"";height:calc(var(--g) * 1px);position:absolute;bottom:100%;left:0;right:0}.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:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{flex-shrink:0;width:22px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.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--warning{background:var(--toastify-color-progress-warning)}.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;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;padding:0;transition:all .3s;position:absolute;top:6px;right:6px}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{z-index:1;opacity:.7;transform-origin:0;width:100%;height:100%;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0;overflow:hidden}.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{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}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:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}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:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,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:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}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:translateY(2000px)}}.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%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}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) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}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:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(-500px)}}.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-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.route-suspense-fallback{flex-direction:column;gap:12px;min-height:240px;padding:24px;display:flex}body{font-family:var(--primary-font);background-color:var(--color-background);color:var(--text-color-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);margin:0}h1,h2,h3{font-family:var(--heading-font);color:var(--text-color-heading);letter-spacing:.04em;font-weight:var(--weight-semibold)}h4,h5,h6{font-family:var(--primary-font);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;font-size:var(--font-md);color:var(--text-color-secondary)}h1,h2,h3,h4,h5,h6,pre,p{margin:0}input:focus,select:focus,textarea:focus,button:focus{outline:none}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-teal)}.leaflet-container{width:100%;height:100vh}.dark-mode-toggle{z-index:99999;background:var(--color-accent);color:var(--text-color-primary-inverse);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:11px;font-family:var(--primary-font);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;opacity:.85;transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;position:fixed;top:10px;right:10px}.dark-mode-toggle:hover{opacity:1;transform:scale(1.05)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.ui-tooltip__content{background:var(--color-surface-raised);color:var(--text-color-primary);border:1px solid var(--border-color);font-size:var(--font-xs);box-shadow:var(--shadow-md);z-index:1100;border-radius:6px;max-width:240px;padding:6px 10px;line-height:1.4;animation:.12s ease-out ui-tooltip-in}.ui-tooltip__content[data-state=closed]{animation:.1s ease-in ui-tooltip-out}.ui-tooltip__arrow{fill:var(--color-surface-raised)}@keyframes ui-tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ui-tooltip-out{0%{opacity:1}to{opacity:0}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.route-error{width:100%;min-height:320px;padding:var(--space-xxl) var(--space-lg);justify-content:center;align-items:center;display:flex}.route-error__card{background:var(--color-surface-raised);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:460px;padding:var(--space-xl) 28px;text-align:center;box-shadow:var(--shadow-card)}.route-error__title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--text-color-heading);margin-bottom:var(--space-list)}.route-error__message{font-size:var(--font-sm);line-height:var(--line-height-body);color:var(--text-color-secondary);margin-bottom:var(--space-lg)}.route-error__retry{min-width:120px}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.iot-empty-state{padding:var(--space-xxl) var(--space-md);text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.iot-empty-state__icon{color:var(--color-accent);opacity:.5;margin-bottom:var(--space-md);font-size:32px}.iot-empty-state__divider{background:linear-gradient(90deg, transparent 0%, var(--deco-line-color-subtle) 20%, var(--deco-line-color) 50%, var(--deco-line-color-subtle) 80%, transparent 100%);width:60%;max-width:320px;height:1px;margin-bottom:var(--space-md)}.iot-empty-state__title{font-family:var(--primary-font);font-size:var(--font-sm);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-color-primary);font-size:var(--font-md);margin-bottom:var(--space-xs)}.iot-empty-state__message{font-family:var(--primary-font);font-size:var(--font-md);color:var(--text-color-hint);max-width:420px;margin-bottom:var(--space-md);line-height:1.5}.iot-empty-state__action{margin-top:var(--space-sm)}.iot-empty-state--error .iot-empty-state__icon,.iot-empty-state--error .iot-empty-state__title{color:var(--color-error)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.offline-banner{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-warning-bg);color:var(--color-warning);font-size:13px;font-weight:var(--weight-medium);letter-spacing:.2px;z-index:10000;box-shadow:var(--shadow-sm);display:flex;position:fixed;top:0;left:0;right:0}.offline-banner__dot{border-radius:var(--radius-pill);opacity:.85;background:currentColor;width:8px;height:8px;animation:1.4s ease-in-out infinite offline-banner-pulse}.offline-banner__label{color:inherit}@keyframes offline-banner-pulse{0%,to{opacity:.5}50%{opacity:1}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.refreshing-indicator{bottom:var(--space-md);right:var(--space-md);align-items:center;gap:var(--space-sm);padding:6px var(--space-list);background:var(--color-surface-raised);color:var(--text-color-secondary);border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:var(--weight-medium);letter-spacing:.2px;box-shadow:var(--shadow-md);z-index:1000;pointer-events:none;-webkit-user-select:none;user-select:none;animation:.18s ease-out refreshing-indicator-fade-in;display:flex;position:fixed}.refreshing-indicator__pip{border-radius:var(--radius-pill);background:var(--color-accent);opacity:.6;width:8px;height:8px;animation:1.1s ease-in-out infinite refreshing-indicator-pulse}.refreshing-indicator__label{color:inherit}@keyframes refreshing-indicator-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes refreshing-indicator-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.ui-dialog__overlay{background:var(--color-dialog-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;animation:.12s ease-out ui-dialog-overlay-in;position:fixed;inset:0}.ui-dialog__overlay[data-state=closed]{animation:.12s ease-in ui-dialog-overlay-out}.ui-dialog__content{z-index:1001;max-width:min(560px, 100vw - var(--space-xl));background:var(--color-surface-raised);width:100%;max-height:calc(100vh - 64px);color:var(--text-color-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-lg);animation:.14s ease-out ui-dialog-content-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ui-dialog__content[data-state=closed]{animation:.1s ease-in ui-dialog-content-out}.ui-dialog__content:focus{outline:none}.ui-dialog__title{font-size:var(--font-lg);font-weight:var(--weight-semibold);margin:0 0 var(--space-sm)}.ui-dialog__description{font-size:var(--font-sm);color:var(--text-color-secondary);margin:0 0 20px}@keyframes ui-dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ui-dialog-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes ui-dialog-content-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ui-dialog-content-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.96)}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.clickable:not([aria-disabled=true]){cursor:pointer}.clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.clickable[aria-disabled=true]{cursor:not-allowed;opacity:.6}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.site-list__molecule{cursor:pointer;padding:var(--space-sm) var(--space-md);transition:background-color var(--transition-fast);flex-direction:row;align-items:center;display:flex}.site-list__molecule .card{width:65px}.site-list__molecule .site-list__molecule-house-image{width:var(--icon-sm);height:var(--icon-sm);border-radius:var(--radius-lg);object-fit:cover;object-position:center;flex-shrink:0}.site-list__molecule .site-list__molecule-house-placeholder{background:linear-gradient(135deg, var(--color-surface-raised), var(--color-background));color:var(--text-color-heading);font-family:var(--heading-font);font-weight:var(--weight-semibold);font-size:var(--font-lg);border:1px solid var(--border-color);justify-content:center;align-items:center;display:flex}.site-list__molecule .site-list__molecule-text{margin-left:var(--space-md);flex:1;overflow:hidden}.site-list__molecule .site-list__molecule-text .site-list__molecule-name{color:var(--text-color-primary);font-weight:var(--weight-semibold);font-size:var(--font-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.site-list__molecule .site-list__molecule-text .site-list__molecule-details{color:var(--text-color-hint);font-size:var(--font-sm)}.site-list__molecule:hover{background-color:var(--color-hover)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.site_device_card{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);cursor:pointer;flex-direction:column;display:flex}.site_device_card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.site_device_card:active{transform:translateY(0)}.site_device_card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site_device_card{text-align:center;align-items:center}.site_device_card .site-device-card_icon{width:100%;height:var(--icon-xl);background:var(--color-surface-raised);color:var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-xl);justify-content:center;align-items:center;display:flex}.site_device_card .site-device-card_display-texts{padding-top:var(--space-sm);width:100%}.site_device_card .site-device-card_display-texts .site-device-card__molecule-text-element_name{padding-bottom:var(--space-tight);font-family:var(--heading-font);font-weight:var(--weight-semibold);color:var(--text-color-heading)}.site_device_card .site-device-card_display-texts .site-device-card__molecule-text-element{text-align:left;font-size:var(--font-sm);color:var(--text-color-hint);margin-bottom:var(--space-tight)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.file-input__trigger{font-family:var(--primary-font);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-md);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface-raised);border:none;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--text-color-primary);cursor:pointer}.file-input__trigger:hover{border-color:var(--color-accent)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.link-atom__{transition:color var(--transition-normal);color:var(--color-accent);cursor:pointer;font-weight:var(--weight-semibold);text-decoration:none}.link-atom__:hover{color:var(--color-gold)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.entity-card{appearance:none;font:inherit;color:inherit;text-align:left;width:100%}.entity-card--hero{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-md);flex-direction:column;padding:0;display:flex;overflow:hidden}.entity-card--inline{align-items:center;gap:var(--space-md);flex-direction:row}.entity-card--stacked{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);gap:var(--space-md);flex-direction:column;display:flex}.entity-card--clickable.entity-card--inline{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);cursor:pointer;flex-direction:column;display:flex}.entity-card--clickable.entity-card--inline:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.entity-card--clickable.entity-card--inline:active{transform:translateY(0)}.entity-card--clickable.entity-card--inline:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.entity-card--clickable.entity-card--stacked{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);cursor:pointer;flex-direction:column;display:flex}.entity-card--clickable.entity-card--stacked:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.entity-card--clickable.entity-card--stacked:active{transform:translateY(0)}.entity-card--clickable.entity-card--stacked:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.entity-card--clickable.entity-card--hero{cursor:pointer;transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal)}.entity-card--clickable.entity-card--hero:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.entity-card--clickable.entity-card--hero:hover .entity-card__image{transform:scale(1.03)}.entity-card--clickable.entity-card--hero:active{transform:translateY(0)}.entity-card--clickable.entity-card--hero:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.entity-card__hero{aspect-ratio:16/9;background:var(--color-surface-raised);border-bottom:1px solid var(--border-color);width:100%;position:relative;overflow:hidden}.entity-card__image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .25s}.entity-card__hero-placeholder{width:100%;height:100%;font-family:var(--heading-font);font-weight:var(--weight-semibold);font-size:var(--font-xxl,48px);color:var(--text-color-heading);background:linear-gradient(135deg, var(--color-surface-raised), var(--color-background));justify-content:center;align-items:center;display:flex}.entity-card__hero-badge{top:var(--space-sm);right:var(--space-sm);-webkit-backdrop-filter:blur(4px);position:absolute}.entity-card__icon-wrap{width:var(--icon-xl);height:var(--icon-xl);background:var(--color-surface-raised);border:1px solid var(--border-color);color:var(--color-accent);font-size:var(--font-xl);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.entity-card__body{padding:var(--space-md);gap:var(--space-tight);flex-direction:column;flex:1;min-width:0;display:flex}.entity-card--inline .entity-card__body,.entity-card--stacked .entity-card__body{padding:0}.entity-card__head{gap:var(--space-tight);flex-direction:column;min-width:0;display:flex}.entity-card__title{font-family:var(--heading-font);font-weight:var(--weight-semibold);font-size:var(--font-lg);color:var(--text-color-heading);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.entity-card__subtitle{align-items:center;gap:var(--space-tight);font-size:var(--font-xs);color:var(--text-color-hint);text-transform:uppercase;letter-spacing:.04em;min-width:0;display:flex}.entity-card__subtitle svg{width:12px;height:12px;color:var(--color-accent);flex-shrink:0}.entity-card__inline-badge{margin-top:var(--space-tight)}.entity-card__actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.location-card__molecule .entity-card__title{text-transform:capitalize}.location-card__molecule .location-card__owner-pill{padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;width:fit-content;font-family:var(--primary-font);border:1px solid #0000;align-items:center;gap:6px;display:inline-flex}.location-card__molecule .location-card__owner-pill svg{font-size:6px}.location-card__molecule .location-card__owner-pill--active,.location-card__molecule .location-card__owner-pill--success,.location-card__molecule .location-card__owner-pill--mutual{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.location-card__molecule .location-card__owner-pill--inactive,.location-card__molecule .location-card__owner-pill--warning,.location-card__molecule .location-card__owner-pill--following{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.location-card__molecule .location-card__owner-pill--unknown{background:var(--color-surface-raised);color:var(--text-color-hint);border-color:var(--border-color)}.location-card__molecule .location-card__owner-pill--error{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.location-card__molecule .location-card__owner-pill--info,.location-card__molecule .location-card__owner-pill--follower{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.location-card__molecule .location-card__owner-pill--mine{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.location-card__molecule .location-card__owner-pill--shared{background:var(--color-background);color:var(--text-color-secondary);border-color:var(--border-color)}.location-card__molecule .entity-card__body{gap:var(--space-sm)}.location-card__molecule .location-card__coords{align-items:center;gap:var(--space-tight);font-size:var(--font-xs);color:var(--text-color-hint);font-variant-numeric:tabular-nums;display:flex;overflow:hidden}.location-card__molecule .location-card__coords svg{flex-shrink:0;width:12px;height:12px}.location-card__molecule .location-card__coords span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.location-card__molecule .location-card__stats{justify-content:space-evenly;align-items:center;gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--border-color);margin-top:auto;display:flex;overflow:hidden}.location-card__molecule .location-card__stat{font-size:var(--font-xs);color:var(--text-color-secondary);white-space:nowrap;align-items:center;gap:3px;min-width:0;display:flex}.location-card__molecule .location-card__stat svg{width:11px;height:11px;color:var(--color-accent);flex-shrink:0}.location-card__molecule .location-card__stat-num{font-family:var(--heading-font);font-weight:var(--weight-semibold);color:var(--text-color-heading);font-size:var(--font-sm)}.location-card__molecule .location-card__stat-label{color:var(--text-color-hint);text-transform:uppercase;letter-spacing:.04em}.location-card__molecule .location-card__last-touched{align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);padding-top:var(--space-xs);color:var(--text-color-hint);font-size:10px;display:flex}.location-card__molecule .location-card__last-touched svg{width:10px;height:10px;color:var(--text-color-hint)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.map-nav{top:var(--space-list);right:var(--space-md);z-index:1000;border-radius:var(--radius-md);background:var(--color-accent);max-width:1170px;padding:var(--space-xs);gap:var(--space-xs);box-shadow:var(--shadow-lg);border:none;margin:auto;display:flex;position:absolute;overflow:hidden}.map-nav .map-nav-item{color:var(--color-overlay-strong);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition-fast), background-color var(--transition-fast);text-decoration:none}.map-nav .map-nav-item:hover,.map-nav .map-nav-item-is-active{color:var(--text-color-primary-inverse);background-color:var(--color-overlay-faint)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.device-card__icon{color:var(--color-accent);font-size:var(--font-xl)}.device-card__badge{padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;width:fit-content;font-family:var(--primary-font);border:1px solid #0000;align-items:center;gap:6px;display:inline-flex}.device-card__badge svg{font-size:6px}.device-card__badge--active,.device-card__badge--success,.device-card__badge--mutual{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.device-card__badge--inactive,.device-card__badge--warning,.device-card__badge--following{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.device-card__badge--error{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.device-card__badge--info,.device-card__badge--follower{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.device-card__badge--active{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.device-card__badge--inactive{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.device-card__badge--unknown{background:var(--color-surface-raised);color:var(--text-color-hint);border-color:var(--border-color)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.radio-card{padding:var(--space-sm) var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;background:var(--color-surface-raised);color:var(--text-color-primary);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);text-align:center;-webkit-user-select:none;user-select:none;min-width:80px}.radio-card:hover:not(.radio-card--selected){border-color:var(--color-accent)}.radio-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.radio-card--selected{border-color:var(--color-accent);background:var(--color-accent);color:var(--text-color-primary-inverse)}.radio-card__title{font-family:var(--primary-font);font-weight:var(--weight-semibold);font-size:var(--font-sm)}.radio-card__description{font-size:var(--font-xs);opacity:.8;margin-top:2px}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.text-checkbox__atom{margin:var(--space-sm) 0;flex-direction:column;align-items:center;display:flex}.text-checkbox__atom .label{margin:var(--space-sm) 0;text-align:center;display:inline}.text-checkbox__atom input{width:var(--input-height);height:var(--icon-xs);box-sizing:border-box;padding-top:var(--space-xs);padding-right:var(--space-sm);padding-bottom:var(--space-xs);padding-left:var(--space-sm);background-color:var(--color-surface-raised);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-md);outline:none}.text-checkbox__atom input[type=checkbox]{cursor:pointer;-webkit-appearance:none;background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-inset);transition:var(--transition-slow);outline:none;position:relative}.text-checkbox__atom input:checked[type=checkbox]{background:var(--color-secondary-teal)}.text-checkbox__atom input[type=checkbox]:before{content:"";width:var(--icon-xs);height:var(--icon-xs);background:var(--color-background);border:1px solid var(--text-color-hint);box-shadow:var(--shadow-sm);transition:var(--transition-slow);border-radius:50%;position:absolute;top:-2px;left:0}.text-checkbox__atom input:checked[type=checkbox]:before{background:var(--color-background);left:15px}.text-checkbox__atom .error{margin-top:calc(-1 * var(--space-sm))}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.text-input__atom{margin:var(--space-sm) 0}.text-input__atom .label{margin:var(--space-xs) 0;font-size:var(--font-sm);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-color-hint)}.text-input__atom input{font-family:var(--primary-font);font-size:var(--font-base);background-color:var(--color-surface-raised);color:var(--text-color-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.text-input__atom input::placeholder{color:var(--text-color-hint)}.text-input__atom input:focus{border-color:var(--color-accent);box-shadow:none;outline:none}.text-input__atom input{box-sizing:border-box;width:100%;margin-bottom:var(--space-md)}.text-input__atom ::-webkit-input-placeholder{opacity:.5;color:var(--text-color-hint)}.text-input__atom .error{margin-top:calc(-1 * var(--space-sm));color:var(--color-error);font-size:var(--font-sm)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.lighting-controls{gap:var(--space-md);flex-direction:column;display:flex}.lighting-controls__field{gap:var(--space-xs);flex-direction:column;display:flex}.lighting-controls__label{font-family:var(--primary-font);font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--text-color-hint);text-transform:uppercase;letter-spacing:.08em;margin:0}.lighting-controls__mode-group{gap:var(--space-sm);flex-wrap:wrap;display:flex}.lighting-controls__hint{font-size:var(--font-xs);color:var(--text-color-hint);margin:0;font-style:italic;line-height:1.4}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.inlo-labeled-control{margin:var(--space-list) 0;flex-direction:column;gap:6px;display:flex}.inlo-labeled-control__label{font-size:var(--font-sm);opacity:.8}.inlo-labeled-control__range,.inlo-labeled-control__color-input{width:100%}.inlo-labeled-control__range--kelvin{background:linear-gradient(90deg, var(--color-kelvin-warm), var(--color-kelvin-neutral), var(--color-kelvin-cool));border-radius:var(--radius-sm)}.inlo-labeled-control__color-row{align-items:center;gap:var(--space-list);display:flex}.inlo-labeled-control__color-input{cursor:pointer;background:0 0;border:none;width:60px;height:40px}.inlo-labeled-control__color-readout{font-family:monospace;font-size:13px}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.circle-marker{border-radius:var(--radius-md);border:2px solid var(--color-accent);box-shadow:var(--shadow-md)}.you-marker{border-radius:var(--radius-md);border:2px solid var(--color-primary-teal);box-shadow:var(--shadow-md)}.device{background-color:var(--color-background);border-radius:var(--radius-md);border:2px solid var(--color-primary-teal);box-shadow:var(--shadow-md);padding:var(--space-xs)!important}.site-marker,.circle-marker{border:3px solid var(--color-marker-site);background:var(--color-background);box-shadow:var(--shadow-md);border-radius:50%}.people-marker,.you-marker{border:3px solid var(--color-marker-people);background:var(--color-background);box-shadow:var(--shadow-md);border-radius:50%}.device{border:3px solid var(--color-marker-device);background:var(--color-background);box-shadow:var(--shadow-md);border-radius:50%}.inlo-avatar-marker{background:var(--color-background);box-shadow:var(--shadow-md);border-radius:50%;overflow:hidden}.inlo-avatar-marker img{object-fit:cover;width:100%;height:100%;display:block}.inlo-avatar-marker--site{border:3px solid var(--color-marker-site)}.inlo-avatar-marker--people,.inlo-avatar-marker--you{border:3px solid var(--color-marker-people)}.inlo-avatar-marker--device{border:3px solid var(--color-marker-device)}.popup-info{margin:0!important}.popup-info .leaflet-popup-content{min-width:240px;width:auto!important;margin:0!important}.popup-info .leaflet-popup-content-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--color-background);box-shadow:var(--shadow-md);padding:0}.popup-info-card{gap:var(--space-sm);width:240px;padding:var(--space-md);font-family:var(--primary-font);box-sizing:border-box;background:var(--color-background);border-radius:var(--radius-md);flex-direction:column;display:flex}.popup-info-card__header{align-items:center;gap:var(--space-sm);width:100%;display:flex}.popup-info-card__avatar{width:var(--avatar-lg);height:var(--avatar-lg);object-fit:cover;border:1px solid var(--border-color);border-radius:50%;flex-shrink:0}.popup-info-card__avatar--placeholder{background:var(--color-surface-raised);color:var(--text-color-heading);font-family:var(--heading-font);font-weight:var(--weight-semibold);font-size:var(--font-lg);justify-content:center;align-items:center;display:inline-flex}.popup-info-card__identity{gap:var(--space-2xs);flex-direction:column;flex:1;min-width:0;display:flex}.popup-info-card__name{font-family:var(--heading-font);font-weight:var(--weight-semibold);color:var(--text-color-heading);font-size:var(--font-base);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.popup-info-card__type{font-size:var(--font-xs);color:var(--text-color-hint);text-transform:uppercase;letter-spacing:.06em;margin:0}.popup-info-card__sublabel{color:var(--text-color-secondary);font-size:var(--font-sm);line-height:var(--line-height-body);word-break:break-word;padding:var(--space-sm) 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin:0}.popup-info-card__cta{color:var(--color-accent);font-size:var(--font-sm);font-weight:var(--weight-semibold);text-align:center;padding:var(--space-xs) 0 0;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;display:block}.popup-info-card__cta:hover{filter:brightness(1.15)}.map-with-marker-wrapper{width:100%;height:100%;position:relative}.geofence-control-panel{top:var(--space-md);right:var(--space-md);z-index:999;width:18rem;max-width:calc(100% - 32px);padding:var(--space-sm);background-color:var(--color-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:absolute}.geofence-control-panel .geofence-control-panel-top{display:flex}.geofence-control-panel .geofence-control-panel-top .panel-text{width:var(--input-height);font-size:var(--font-base);color:var(--text-color-secondary);margin-bottom:var(--space-sm);position:relative}.geofence-control-panel .geofence-control-panel-top .current-radius{font-weight:var(--weight-semibold);color:var(--color-accent)}.geofence-control-panel .geofence-control-panel-top .radius-slider{top:var(--space-xs);background-color:var(--color-background-faded);border-radius:var(--radius-md);appearance:none;cursor:pointer;width:calc(100% - 40px);height:.5rem;margin-bottom:var(--space-sm);position:relative}.geofence-control-panel .geofence-control-panel-top .radius-slider::-webkit-slider-thumb{appearance:none;background-color:var(--color-accent);border-radius:50%;width:1rem;height:1rem}.geofence-control-panel .geofence-control-panel-top .radius-slider::-moz-range-thumb{background-color:var(--color-accent);border-radius:50%;width:1rem;height:1rem}.geofence-control-panel .panel-buttons{justify-content:space-between;gap:var(--space-sm);display:flex}.geofence-control-panel .revert-button,.geofence-control-panel .save-button{width:100%;padding:var(--space-xs) var(--space-sm);font-size:var(--font-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-md);transition:background-color var(--transition-fast), color var(--transition-fast);cursor:pointer;border:none;outline:none}.geofence-control-panel .revert-button:focus,.geofence-control-panel .save-button:focus{box-shadow:0 0 0 2px var(--color-background), 0 0 0 4px var(--color-accent)}.geofence-control-panel .revert-button{color:var(--text-color-secondary);background-color:var(--color-surface-raised)}.geofence-control-panel .revert-button:hover{background-color:var(--color-background-faded)}.geofence-control-panel .save-button{color:var(--text-color-primary-inverse);background-color:var(--color-accent)}.geofence-control-panel .save-button:hover{filter:brightness(1.1)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.map-feednot,.map{background-color:var(--color-background);-webkit-user-drag:none;border:none;border-radius:0;transition:filter 1.5s,width .4s,left .4s;position:relative}.map{width:100%;height:100%;top:0;left:0}.map-feednot{width:calc(50vw - 100px);height:100%;top:0;left:calc(50vw - 195px)}:root{--globe-glow:#00d0a7;--globe-glow-close:#00d0a766;--globe-glow-wide:#00d0a726;--globe-ring-bright:#00d0a7cc;--globe-ring-mid:#00d0a780;--globe-ring-soft:#00d0a726;--globe-shadow-hard:#000c;--globe-shadow-soft:var(--color-scrim);--globe-shadow-ambient:var(--color-scrim-light);--globe-highlight:#ffffff1a;--globe-curvature:var(--color-scrim)}body.dark-mode{--globe-glow:#00d0a7;--globe-glow-close:#00d0a766;--globe-glow-wide:#00d0a726;--globe-ring-bright:#00d0a7cc;--globe-ring-mid:#00d0a780;--globe-ring-soft:#00d0a726;--globe-shadow-hard:#000c;--globe-shadow-soft:var(--color-scrim);--globe-shadow-ambient:var(--color-scrim-light);--globe-highlight:var(--color-glass-light);--globe-curvature:var(--color-scrim)}body:not(.dark-mode){--globe-glow:#137cf2;--globe-glow-close:#137cf259;--globe-glow-wide:#137cf21f;--globe-ring-bright:#137cf2b3;--globe-ring-mid:#137cf266;--globe-ring-soft:#137cf21f;--globe-shadow-hard:#0006;--globe-shadow-soft:#00000040;--globe-shadow-ambient:#00000026;--globe-highlight:var(--color-overlay-soft);--globe-curvature:#00000040}.map--globe{clip-path:circle(50%);filter:drop-shadow(0 0 8px var(--globe-glow-close)) drop-shadow(0 0 30px var(--globe-glow-wide)) drop-shadow(4px 6px 12px var(--globe-shadow-hard)) drop-shadow(8px 14px 35px var(--globe-shadow-soft)) drop-shadow(0 0 60px var(--globe-shadow-ambient));overflow:visible;border:none!important;border-radius:0!important}.map--globe:before{content:"";clip-path:circle(50%);background:radial-gradient(circle at 50% 50%, transparent 90%, var(--globe-ring-soft) 93%, var(--globe-ring-mid) 95.5%, var(--globe-ring-bright) 97%, var(--globe-ring-mid) 98.5%, transparent 100%);pointer-events:none;z-index:9998;position:absolute;inset:0}.map--globe:after{content:"";clip-path:circle(50%);pointer-events:none;z-index:9999;background:radial-gradient(circle at 35% 30%, var(--globe-highlight) 0%, transparent 45%, var(--globe-curvature) 100%);position:absolute;inset:0}.leaflet-map-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-pane,.leaflet-tile-container,.leaflet-overlay-pane,.leaflet-shadow-pane,.leaflet-marker-pane,.leaflet-popup-pane,.leaflet-overlay-pane svg,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{-ms-touch-action:none;touch-action:none;background:var(--color-background);font:12px/1.5 var(--primary-font), "Helvetica Neue", Arial, sans-serif;outline:0;overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container img{object-fit:cover;object-position:center;max-width:none!important}.leaflet-container img.leaflet-image-layer{max-width:15000px!important}.leaflet-tile{filter:inherit;visibility:hidden;object-fit:cover;object-position:center}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-tile-pane{z-index:2}.leaflet-objects-pane{z-index:3}.leaflet-overlay-pane{z-index:4}.leaflet-shadow-pane{z-index:5}.leaflet-marker-pane{z-index:600!important}.leaflet-popup-pane{z-index:7}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:7;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0;visibility:visible!important}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-tile,.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-tile-loaded,.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile,.leaflet-touching .leaflet-zoom-animated{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-clickable{cursor:pointer}.leaflet-container{cursor:grab}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-container,.leaflet-dragging .leaflet-clickable{cursor:move;cursor:grabbing}.leaflet-bar{box-shadow:var(--shadow-md);border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden}.leaflet-bar a,.leaflet-bar a:hover{background-color:var(--color-background);border-bottom:1px solid var(--border-color);color:var(--text-color-primary);text-align:center;width:30px;height:30px;line-height:30px;font-weight:var(--weight-semibold);text-decoration:none;display:block}.leaflet-bar a:hover{background-color:var(--color-hover)}.leaflet-bar a:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.leaflet-bar a:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:var(--color-background-faded);color:var(--text-color-hint)}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-control-zoom-out{font-size:20px}.leaflet-control-layers{box-shadow:var(--shadow-md);background:var(--color-background);border-radius:var(--radius-md)}.leaflet-control-layers-toggle{width:var(--icon-md);height:var(--icon-md)}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:var(--text-color-primary);background:var(--color-background);padding:6px 10px 6px 6px}.leaflet-control-layers-selector{margin-top:var(--space-2xs);position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{border-top:1px solid var(--border-color);height:0;margin:5px -10px 5px -6px}.leaflet-container .leaflet-control-attribution{background:var(--color-background);opacity:.7;color:var(--text-color-hint);margin:0;font-size:11px}.leaflet-control-attribution a{color:var(--color-accent);text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-control-scale-line{border:2px solid var(--text-color-hint);padding:var(--space-2xs) 5px 1px;white-space:nowrap;box-sizing:content-box;background:var(--color-background);opacity:.7;border-top:none;font-size:11px;line-height:1.1;overflow:hidden}.leaflet-control-scale-line:not(:first-child){border-top:2px solid var(--text-color-hint);border-bottom:none;margin-top:-2px}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:1px solid var(--border-color);background-clip:padding-box}.leaflet-touch .leaflet-bar a{width:34px;height:34px;line-height:34px}.leaflet-touch .leaflet-control-zoom-in{font-size:22px}.leaflet-touch .leaflet-control-zoom-out{font-size:24px}.leaflet-popup{text-align:center;position:absolute}.leaflet-popup-content-wrapper{text-align:left;padding:1px}.leaflet-popup-content{justify-content:center;align-items:center;margin:13px 19px;line-height:1.4;display:flex;width:140px!important;height:60px!important}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{visibility:collapse;width:40px;height:20px;margin:0 auto;position:relative;overflow:hidden}.leaflet-popup-tip{width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{height:calc(100% - 2px);box-shadow:var(--shadow-md);position:relative;background:var(--color-background)!important;color:var(--text-color-primary)!important;border-radius:var(--radius-md)!important;z-index:3!important}.leaflet-container a.leaflet-popup-close-button{visibility:collapse;padding:var(--space-xs) var(--space-xs) 0 0;text-align:center;width:18px;height:14px;color:var(--text-color-hint);font:16px/14px Tahoma,Verdana,sans-serif;font-weight:var(--weight-bold);background:0 0;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--text-color-primary)}.leaflet-popup-scrolled{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);overflow:auto}.leaflet-container a{color:var(--color-accent)}.leaflet-container a.leaflet-active{outline:2px solid var(--color-primary-teal)}.leaflet-zoom-box{border:2px dotted var(--color-accent);background:var(--color-overlay-faint)}.leaflet-div-icon{background:var(--color-background);border:1px solid var(--border-color)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.profile-site-map{border-radius:var(--radius-md);height:100%;position:absolute}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.settings-modal{background:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:85vh;box-shadow:var(--shadow-lg);font-family:var(--primary-font);color:var(--text-color-primary);flex-direction:column;padding:0;display:flex}.settings-modal__header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.settings-modal__title{font-family:var(--heading-font);font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--text-color-heading);margin:0}.settings-modal__close{cursor:pointer;font-size:var(--font-lg);color:var(--text-color-hint);padding:var(--space-xs);background:0 0;border:none}.settings-modal__close:hover{color:var(--color-accent)}.settings-modal__body{padding:var(--space-md) var(--space-lg);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.settings-modal__section-label{align-items:center;gap:var(--space-sm);font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--text-color-heading);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.04em;display:flex}.settings-modal__hint{margin:0 0 var(--space-sm);font-size:var(--font-sm);color:var(--text-color-hint);line-height:1.4}.settings-modal__fingerprint{padding:var(--space-sm) var(--space-md);font-family:var(--mono-font,"Menlo", "Consolas", monospace);font-size:var(--font-sm);color:var(--text-color-primary);background:var(--color-surface-raised);border:1px solid var(--border-color);border-radius:var(--radius-sm);word-break:break-all;-webkit-user-select:all;user-select:all;line-height:1.6;display:block}.settings-modal__row{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--text-color-primary);font-size:var(--font-md);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);display:flex}.settings-modal__row:hover{border-color:var(--color-accent)}.settings-modal__row-action{font-size:var(--font-sm);font-weight:var(--weight-regular);color:var(--text-color-hint)}.settings-modal__row--danger{color:var(--color-error);justify-content:flex-start}.settings-modal__row--danger:hover{border-color:var(--color-error);color:var(--color-error)}:root{--color-background:#fff;--color-background-faded:#e3e3e3;--color-window-background:#fff;--color-window-background-alt:#f3f8fd;--color-surface:#fff;--color-surface-raised:#fafafa;--text-color-primary:#595b5c;--text-color-secondary:#504f4f;--text-color-primary-inverse:#fff;--text-color-secondary-inverse:#f6f6f7;--text-color-hint:#888a8c;--text-color-heading:#242424;--color-hover:#f3f8fd;--color-accent:#137cf2;--color-accent-light:#a0c4ed;--color-ripple:#7ad0f5;--color-gold:#ffcba4;--color-gold-light:#ffe0cb;--color-gold-dark:#e89f6e;--color-champagne:#fff1e5;--icon-color-primary:#595b5c;--icon-color-primary-inverse:#fff;--divider-color:#717070;--border-color:#d4d4d5;--card-color:#fff;--box-shadow-primary:#0003;--box-shadow-primary-window:#0003;--color-primary:#fff;--color-primary-dark:#161717;--color-green:#95c600;--color-orange:#ff9b00;--color-app-icon-background:#116cd2;--color-primary-teal:#00d0a7;--color-secondary-teal:#02b995;--primary-font:Titillium Web, sans-serif;--heading-font:Playfair Display, Georgia, serif;--deco-line-color:#ffcba4;--deco-line-color-subtle:#c9a84c4d;--deco-border:1px solid #ffcba4;--deco-border-subtle:1px solid #c9a84c33;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-tight:var(--space-xs);--space-list:12px;--space-card:var(--space-md);--space-grid:var(--space-md);--space-section:var(--space-xl);--shadow-sm:0 1px 2px #0000000a;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-card-hover:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029;--shadow-inset:inset 0 0 5px #00000014;--font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-xxl:2rem;--font-display:2.5rem;--color-marker-site:#ffcba4;--color-marker-people:#137cf2;--color-marker-device:#00d0a7;--skeleton-base:#e8e8ea;--skeleton-hi:#f2f2f4;--color-success:var(--color-accent);--color-success-bg:#00d0a71f;--color-success-border:#00d0a766;--color-success-text:#15803d;--color-success-solid:#16a34a;--color-warning:#f5a623;--color-warning-bg:#f5a6231f;--color-warning-border:#f5a62366;--color-warning-text:#c2410c;--color-error:#f44;--color-error-bg:#ff44441f;--color-error-border:#f446;--color-error-text:#b91c1c;--color-info:var(--color-accent);--color-info-bg:#137cf21f;--color-info-border:#137cf266;--color-info-text:#4338ca;--color-muted-text:#4b5563;--color-danger:var(--color-error);--color-role-owner:#b48b32;--color-role-co-owner:#5a6fb0;--color-role-resident:#2e7d5f;--color-role-trusted:#7a5fb0;--color-role-guest:#888;--color-role-employee:#2e7d5f;--color-role-customer:#7a5fb0;--line-height-tight:1.2;--line-height-body:1.5;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.5s ease;--nav-width:200px;--msg-panel-width:85px;--panel-width:280px;--nav-height:50px;--drawer-width:600px;--map-height-sm:250px;--map-height-md:300px;--map-height-lg:350px;--interior-heading-height:60px;--icon-xs:20px;--icon-sm:28px;--icon-md:36px;--icon-lg:44px;--icon-xl:56px;--avatar-sm:24px;--avatar-md:36px;--avatar-lg:44px;--avatar-xl:56px;--avatar-xxl:100px;--card-width:200px;--card-height:200px;--input-height:36px;--button-height:32px;--img-sm:100px;--img-md:150px;--img-lg:175px;--space-2xs:2px;--z-base:1;--z-dropdown:100;--z-nav:500;--z-overlay:1000;--z-modal:2000;--z-toast:3000;--z-tooltip:4000;--color-scrim:#0009;--color-scrim-strong:#000000d9;--color-scrim-light:#0000004d;--color-scrim-medium:#0000008c;--color-scrim-deep:#000000bf;--color-glass-faint:#ffffff0f;--color-glass-light:#ffffff14;--color-glass-soft:#ffffff1f;--color-glass-medium:#ffffffd9;--color-overlay-faint:#ffffff26;--color-overlay-soft:#ffffff40;--color-overlay-medium:#fff6;--color-overlay-deep:#fff9;--color-overlay-strong:#ffffffb3;--color-overlay-bright:#ffffffa6;--color-kiosk-bg-start:#0a1929;--color-kiosk-bg-end:#162a44;--color-kid-bg-start:#ffd86b;--color-kid-bg-end:#ff8fcf;--color-history-accent:tomato;--color-history-accent-glow:#ff6347d9;--color-history-accent-soft:#ff63472e;--color-history-accent-medium:#ff63474d;--color-history-accent-strong:#ff634780;--color-history-accent-shadow:#ff634799;--color-history-accent-track:#ff634766;--color-history-surface:#141c28eb;--color-history-surface-solid:#1a2230;--color-flow-tile-blue:#6699ff2e;--color-flow-tile-gray:#9ca3af38;--color-flow-tile-indigo:#6366f126;--color-dialog-scrim:#0a192999;--color-kelvin-warm:#ffd9a0;--color-kelvin-neutral:#fff;--color-kelvin-cool:#cce7ff;--color-floorplan-grid-bg:#fafafa;--color-floorplan-grid-line:#e0e0e0;--color-floorplan-room-fill:#f6f6f8;--color-floorplan-room-stroke:#666;--color-floorplan-room-label:#ff3b30;--color-floorplan-anchor-fill:#666;--color-floorplan-anchor-stroke:#333;--color-floorplan-tag-fill:#0070ff;--color-floorplan-tag-label:#999;--color-floorplan-grid-bg-alt:#fff;--color-floorplan-room-selected:#0070ff;--color-floorplan-room-selected-fill:#0070ff14;--color-floorplan-room-movable:#ff6b35;--color-floorplan-room-movable-fill:#ff6b3514;--color-floorplan-room-default-fill:#ffffffd9;--color-floorplan-room-label-default:#333;--color-floorplan-dim-label:#0070ff;--color-floorplan-device-fill:#0070ff;--color-floorplan-device-stroke:#fff;--color-floorplan-placement-preview:#0070ff;--color-map-radius-primary:#00d0a7;--color-map-radius-editing:tomato;--color-map-radius-edit-fill:#ffdab9;--color-map-geofence-stroke:#ffcba4;--color-map-geofence-fill:#ffcba4;--color-history-slider-track-rgb:255, 99, 71;--color-floorplan-room-fill-legacy:#f6f6f8;--color-floorplan-room-stroke-legacy:#666;--color-floorplan-grid-line-legacy:#d3d3d3;--color-floorplan-grid-line-bright:#77e6d5;--color-floorplan-stage-border:#d3d3d3;--color-floorplan-room-accent:#30d3ba;--color-annotation-bg:#fff;--color-preference-lighting-warm:#fff8e1;--color-preference-lighting-white-default:#fff}body.dark-mode{--color-background:#161717;--color-background-faded:#282929;--color-window-background:#282929;--color-window-background-alt:#282929;--color-surface:#1d1e1e;--color-surface-raised:#282929;--text-color-primary:#fff;--text-color-secondary:#f6f6f7;--text-color-primary-inverse:#595b5c;--text-color-secondary-inverse:#504f4f;--text-color-hint:#888a8c;--text-color-heading:#fff;--color-hover:#282929;--color-accent:#02b995;--color-accent-light:#c6f2cd50;--color-ripple:#00d0a7;--color-gold:#ffe0cb;--color-gold-light:#fff1e5;--color-gold-dark:#ffcba4;--color-champagne:#f7e7ce1a;--icon-color-primary:#fff;--icon-color-primary-inverse:#595b5c;--divider-color:#717070;--border-color:#504f4f;--card-color:#1d1e1e;--box-shadow-primary:#ffffff1a;--box-shadow-primary-window:#000;--color-primary:#161717;--color-primary-dark:#161717;--deco-line-color:#ffcba4;--deco-line-color-subtle:#c9a84c40;--deco-border:1px solid #ffcba4;--deco-border-subtle:1px solid #c9a84c26;--primary-font:Titillium Web, sans-serif;--heading-font:Playfair Display, Georgia, serif;--shadow-sm:0 1px 2px #0000004d;--shadow-card:0 1px 3px #0006, 0 1px 2px #0003;--shadow-card-hover:0 4px 12px #00000080, 0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-xl:0 16px 48px #0000008c;--shadow-inset:inset 0 0 5px #0000004d;--skeleton-base:#2a2b2c;--skeleton-hi:#3a3b3c;--color-floorplan-grid-bg:#1d1e1e;--color-floorplan-grid-line:#2f3030;--color-floorplan-room-fill:#282929;--color-floorplan-room-stroke:#6b6c6c;--color-floorplan-room-label:#ff6b6b;--color-floorplan-anchor-fill:#b0b1b1;--color-floorplan-anchor-stroke:#e0e0e0;--color-floorplan-tag-fill:#4a9dff;--color-floorplan-tag-label:#b0b1b1;--color-floorplan-grid-bg-alt:#232424;--color-floorplan-room-selected:#4a9dff;--color-floorplan-room-selected-fill:#4a9dff29;--color-floorplan-room-movable:#ff6b35;--color-floorplan-room-movable-fill:#ff6b3529;--color-floorplan-room-default-fill:#282929d9;--color-floorplan-room-label-default:#f6f6f7;--color-floorplan-dim-label:#4a9dff;--color-floorplan-device-fill:#4a9dff;--color-floorplan-device-stroke:#1d1e1e;--color-floorplan-placement-preview:#4a9dff;--color-map-radius-primary:#00d0a7;--color-map-radius-editing:tomato;--color-map-radius-edit-fill:#ffdab9;--color-map-geofence-stroke:#ffcba4;--color-map-geofence-fill:#ffcba4;--color-history-slider-track-rgb:255, 99, 71;--color-floorplan-room-fill-legacy:#282929;--color-floorplan-room-stroke-legacy:#6b6c6c;--color-floorplan-grid-line-legacy:#2f3030;--color-floorplan-grid-line-bright:#2f9b8a;--color-floorplan-room-accent:#30d3ba;--color-floorplan-stage-border:#3a3b3b;--color-annotation-bg:#fff;--color-preference-lighting-warm:#fff8e1;--color-preference-lighting-white-default:#fff;--color-success-text:#4ade80;--color-warning-text:#fb923c;--color-error-text:#f87171;--color-info-text:#60a5fa;--color-muted-text:#9ca3af}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar{width:0;height:0;display:none}*{scrollbar-width:none;-ms-overflow-style:none}::selection{background:var(--color-primary-teal);color:var(--text-color-primary-inverse)}[hidden]{display:none!important}img.house-image,img.device-house-image,img.profile-site-house-image,img.user-house-image,img.location-card__molecule-house-image,img.site-list__molecule-house-image,img.collapsed-icon,img.profile_image,img.account_page-profile_pic,img.Profile-account_page-profile_pic,img.popup-info-card__avatar,img.site-popup-card__avatar,img.profile-members__avatar,img.user-summary__avatar,img.member-profile-picture,img.follow-profile-picture,img.member-event-profile-picture,img.comment-profile-picture,img.post-profile-picture,img.notification-bar-avatar,img.thing-card__image,img.object-slide__image,img.object-slide__molecule-house-image,img.member-slide__molecule-house-image,img.msg-slide__molecule-house-image,img.msg-slide-msgs__molecule-house-image,img.msg-slide-active-active__molecule-house-image,img.profileIcon_profile-header-section,img.profile-header__avatar,img.popup-info-img,.dropdown-result .image-area img,.selected-user__component .image-area img{object-fit:cover;object-position:center;max-width:100%;display:block}img.inlo-avatar{object-fit:cover;object-position:center;display:block}.logo__img{width:114px;max-width:none;height:54px;display:block}.container{max-width:1170px;margin:auto}.containerr{border-radius:var(--radius-md);width:100%;height:95%;position:relative;left:0}.Toastify__toast--success{background-color:#4bb543}.Toastify__toast{font-family:var(--primary-font);border-radius:var(--radius-md);min-height:auto;box-shadow:0 4px 20px var(--box-shadow-primary);border:1px solid var(--border-color);background-color:var(--color-surface);color:var(--text-color-primary);font-size:.8em}.Toastify__close-button{color:var(--text-color-hint)}.Toastify__progress-bar--success{background:var(--color-primary-teal)}.Toastify__progress-bar--error{background:#ff3939}.leaflet-control-geosearch form{border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-background);border:1px solid var(--border-color);color:var(--text-color-primary)}.leaflet-control-geosearch input{color:var(--text-color-primary);font-family:var(--primary-font)}.leaflet-bar{border-radius:var(--radius-md)}.app-shell__splash{background:var(--color-background);z-index:9999;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.app-shell__splash-topbar{padding:14px var(--space-lg);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.app-shell__splash-topbar-actions{align-items:center;gap:var(--space-list);display:flex}.app-shell__splash-body{flex:auto;min-height:0;display:flex}.app-shell__splash-rail{width:var(--nav-width);padding:var(--space-lg) var(--space-md);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:10px;display:flex}.app-shell__splash-content{padding:var(--space-lg);flex:auto;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-content:start;gap:20px;display:grid;overflow:hidden}.app-shell__splash-card{gap:var(--space-sm);flex-direction:column;display:flex}.app-shell__splash-label{color:var(--text-color-secondary);font-size:var(--font-sm);letter-spacing:.2px}.app-shell__degraded{justify-content:center;align-items:center;gap:var(--space-list);padding:var(--space-lg);background:var(--color-background);color:var(--text-color-primary);text-align:center;z-index:9999;flex-direction:column;display:flex;position:fixed;inset:0}.app-shell__degraded-title{font-size:22px;font-weight:var(--weight-semibold);margin:0}.app-shell__degraded-body{max-width:480px;color:var(--text-color-secondary);line-height:var(--line-height-body);margin:0}.app-shell__degraded-retry{margin-top:var(--space-sm);padding:10px var(--space-lg);background:var(--color-accent);color:var(--text-color-primary-inverse);font-size:var(--font-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast);border:none;border-radius:6px}.app-shell__degraded-retry:hover{background:var(--color-accent-light)}
