@charset "UTF-8";.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0}.user-avatar--small{width:32px;height:32px}.user-avatar--small .user-avatar__text{font-size:21px}.user-avatar--medium{width:40px;height:40px}.user-avatar--medium .user-avatar__text{font-size:.875rem}.user-avatar--large{width:64px;height:64px}.user-avatar--large .user-avatar__text{font-size:1.25rem}.user-avatar__image{width:100%;height:100%;object-fit:cover}.user-avatar--initials{color:#fff;font-weight:600}.user-avatar__text{-webkit-user-select:none;user-select:none}.user-contextual-menu{position:relative;width:200px}.user-contextual-menu__trigger{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:12px;cursor:pointer;transition:background-color .2s}.user-contextual-menu__trigger:hover{background-color:#0000000d}.user-contextual-menu__display_name{font-family:Sofia Pro;font-weight:400;font-size:16px;line-height:24px;color:#1c1b1a;flex:1}.user-contextual-menu__chevron{color:#1c1b1a;transition:transform .2s}.user-contextual-menu__chevron--open{transform:rotate(180deg)}.user-contextual-menu__dropdown{position:absolute;top:100%;right:0;min-width:200px;background-color:#fff;border:1px solid #E0E0E0;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;z-index:1000;margin-top:4px}.user-contextual-menu__item{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-family:Sofia Pro;font-size:14px;color:#1c1b1a;cursor:pointer;transition:background-color .2s}.user-contextual-menu__item:hover{background-color:#f5f5f5}.user-contextual-menu__item:active{background-color:#e0e0e0}.sidebar{width:288px;background-color:#faf9f7;color:#fff;display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid #E8E6E1}@media screen and (max-width:768px){.sidebar{display:none}}.sidebar--mobile{display:flex;position:fixed;top:0;left:0;bottom:0;width:288px;z-index:300;box-shadow:4px 0 16px #0000001f;animation:sidebarSlideIn .25s ease-out}.sidebar__overlay{display:none}@media screen and (max-width:768px){.sidebar__overlay{display:block;position:fixed;inset:0;background-color:#00000073;z-index:299;animation:sidebarFadeIn .2s ease-out}}.sidebar__close-btn{display:none}@media screen and (max-width:768px){.sidebar__close-btn{display:flex;position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;font-size:1.25rem;color:#1c1b1a;padding:.4rem;border-radius:6px;align-items:center;justify-content:center;transition:background-color .15s}.sidebar__close-btn:hover{background-color:#00000012}}.sidebar__header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center}.sidebar__title{margin:0;font-size:1.5rem;font-weight:600}.sidebar__nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar__link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:#ffffffb3;text-decoration:none;transition:all .2s}.sidebar__link span{color:#1c1b1a;font-family:Sofia Pro;font-weight:400;font-style:Regular;font-size:16px;leading-trim:NONE;line-height:24px;letter-spacing:0%}.sidebar__link:hover{background-color:#ffffff1a;color:#fff}.sidebar__link--active{background-color:#ffffff26;color:#fff}.sidebar__link--active .sidebar__icon{color:#f15a29}.sidebar__icon{font-size:1.25rem;flex-shrink:0;color:#5c5953}.sidebar__chevron{margin-left:auto;font-size:1rem;color:#5c5953;transition:transform .2s}.sidebar__chevron--open{transform:rotate(180deg)}.sidebar__client-selector{position:relative;margin:.75rem 1rem;border:1px solid #E8E6E1;border-radius:8px;background:#fff}.sidebar__client-selector-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left}.sidebar__client-selector-trigger span{flex:1;color:#1c1b1a;font-family:Sofia Pro;font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__client-selector-list{position:absolute;top:calc(100% + 4px);left:0;right:0;list-style:none;margin:0;padding:.25rem 0;background:#fff;border:1px solid #E8E6E1;border-radius:8px;box-shadow:0 4px 12px #00000014;z-index:100;max-height:200px;overflow-y:auto}.sidebar__client-selector-item{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;cursor:pointer;text-align:left;color:#1c1b1a;font-family:Sofia Pro;font-size:14px;line-height:20px;transition:background-color .15s}.sidebar__client-selector-item:hover{background-color:#f5f4f2}.sidebar__client-selector-item--active{font-weight:600;color:#f15a29}.sidebar__footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar__logout{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background-color:#ffffff1a;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.sidebar__logout:hover{background-color:#fff3}@keyframes sidebarSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes sidebarFadeIn{0%{opacity:0}to{opacity:1}}.navbar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:0 1rem;height:64px;background-color:#faf9f7;border-bottom:1px solid #E8E6E1;position:fixed;top:0;left:0;right:0;z-index:200}@media screen and (max-width:768px){.navbar{display:flex}}.navbar__menu-btn{background:none;border:none;cursor:pointer;padding:.5rem;font-size:1.5rem;color:#1c1b1a;display:flex;align-items:center;border-radius:6px;transition:background-color .15s}.navbar__menu-btn:hover{background-color:#0000000d}.main-layout{display:flex;height:100vh;overflow:hidden}.main-layout .page{padding:40px;min-width:min-content}@media screen and (max-width:768px){.main-layout .page{padding:84px 20px 20px;width:fit-content;min-width:100%}}.main-layout__content{flex:1;overflow-y:auto;overflow-x:auto;background-color:#fff;display:flex;flex-direction:column}.main-layout__toast-container{position:sticky;top:0;z-index:1000;width:100%}.button{padding:10px 16px;border:none;border-radius:4px;font-family:Sofia Pro;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;font-style:Semi Bold;line-height:20px;letter-spacing:.5px;display:flex;align-items:center;gap:10px}.button__thin{padding:6px 16px;height:32px;font-weight:400}.button:disabled{opacity:.5;cursor:not-allowed}.button--success{background-color:#f15a29;color:#fff}.button--success:hover:not(:disabled){background-color:#ef4811}.button--success:active:not(:disabled){background-color:#d9400e}.button--neutral{background-color:#e8e6e1;color:#1c1b1a}.button--neutral:hover:not(:disabled){background-color:#dddad3}.button--neutral:active:not(:disabled){background-color:#d2cec4}.button--success-outline{background-color:transparent;color:#f15a29;border:1px solid #F15A29}.button--success-outline:hover:not(:disabled){background-color:#f15a291a}.button--success-outline:active:not(:disabled){background-color:#f15a2933}.button--secondary{background-color:#7078e0;color:#fff;border:1px solid #7078E0}.button--secondary:hover:not(:disabled){background-color:#5b64db}.button--secondary:active:not(:disabled){background-color:#4650d7}.button--danger{background-color:#dc3545;color:#fff}.button--danger:hover:not(:disabled){background-color:#d32535}.button--danger:active:not(:disabled){background-color:#bd2130}.empty-banner{width:100%;display:flex;flex-direction:column;align-items:center;border-radius:8px;border-width:1px;padding:40px;gap:24px;background-color:#faf9f7}.empty-banner__body{gap:8px;align-items:center;display:flex;flex-direction:column}.empty-banner__icon{width:32px;height:32px;color:#5c5953}.empty-banner__title{font-family:Sofia Pro;font-weight:700;font-style:Semi Bold;font-size:20px;line-height:28px;text-align:center}.empty-banner__description{font-family:Sofia Pro;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0%;text-align:center;color:#5c5953}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal--small{width:90%;max-width:400px}.modal--medium{width:90%;max-width:600px}.modal--large{width:90%;max-width:700px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0}.modal__title{font-family:Sofia Pro;font-size:20px;font-weight:700;color:#1c1b1a;margin:0}.modal__close{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#1c1b1a;border-radius:4px;transition:background-color .2s}.modal__close:hover{background-color:#e8e6e1}.modal__close:active{background-color:#e8e6e1b3}.modal__content{padding:24px;overflow-y:auto;flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.form-input{display:flex;flex-direction:column}.form-input__label{font-family:Sofia Pro;font-size:14px;font-weight:400;color:#1c1b1a;display:flex;align-items:center;gap:4px}.form-input__asterisk{color:#f15a29;font-weight:700}.form-input__field{padding:8px 16px;border:2px solid #E8E6E1;border-radius:8px;font-family:Sofia Pro;font-size:16px;color:#1c1b1a;transition:border-color .2s}.form-input__field:focus{outline:none;border-color:#7078e0}.form-input__field::placeholder{color:#1c1b1a66}.form-input__field--error{border-color:#f15a29}.form-input__error{font-family:Sofia Pro;font-size:13px;color:#f15a29;margin-top:4px;border-left:4px solid transparent}.form-input{gap:5px}.form-select{display:flex;flex-direction:column}.form-select__label{font-family:Sofia Pro;font-size:14px;font-weight:400;color:#1c1b1a;display:flex;align-items:center;gap:4px}.form-select__asterisk{color:#f15a29;font-weight:700}.form-select__field{padding:8px 16px;border:2px solid #E8E6E1;border-radius:8px;font-family:Sofia Pro;font-size:16px;color:#1c1b1a;transition:border-color .2s}.form-select__field:focus{outline:none;border-color:#7078e0}.form-select__field::placeholder{color:#1c1b1a66}.form-select__field{padding-right:40px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%231C1B1A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.form-select__field--error{border-color:#f15a29}.form-select__error{font-family:Sofia Pro;font-size:13px;color:#f15a29;margin-top:4px;border-left:4px solid transparent}.form-select{gap:5px}.form-textarea{display:flex;flex-direction:column}.form-textarea__label{font-family:Sofia Pro;font-size:14px;font-weight:400;color:#1c1b1a;display:flex;align-items:center;gap:4px}.form-textarea__asterisk{color:#f15a29;font-weight:700}.form-textarea__field{padding:8px 16px;border:2px solid #E8E6E1;border-radius:8px;font-family:Sofia Pro;font-size:16px;color:#1c1b1a;transition:border-color .2s}.form-textarea__field:focus{outline:none;border-color:#7078e0}.form-textarea__field::placeholder{color:#1c1b1a66}.form-textarea__field{resize:vertical;min-height:80px}.form-textarea__field--error{border-color:#f15a29}.form-textarea__error{font-family:Sofia Pro;font-size:13px;color:#f15a29;margin-top:4px;border-left:4px solid transparent}.create-alert-form{display:flex;flex-direction:column;gap:20px}.create-alert-form__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.notification-table{width:100%}.notification-table__table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e8e6e1;border-radius:8px;box-shadow:0 1px 3px #0000001a}.notification-table__table thead th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #dee2e6}.notification-table__table thead th:first-child{border-top-left-radius:8px}.notification-table__table thead th:last-child{border-top-right-radius:8px}.notification-table__table tbody tr{border-bottom:1px solid #dee2e6;transition:background-color .2s}.notification-table__table tbody tr:hover{background-color:#f8f9fa}.notification-table__table tbody tr:last-child{border-bottom:none}.notification-table__table tbody tr:last-child td:first-child{border-bottom-left-radius:8px}.notification-table__table tbody tr:last-child td:last-child{border-bottom-right-radius:8px}.notification-table__table tbody tr td{padding:12px 16px;font-size:14px;color:#212529}.notification-table__name{font-weight:500}.notification-table__context{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-table__date{white-space:nowrap;color:#6c757d;font-size:13px;cursor:help}.notification-table__date:hover{color:#495057}.notification-table__status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.notification-table__status--pending{background-color:#e6b93d33;color:#1c1b1a;border-color:#e6b93d4d}.notification-table__status--resolved{background-color:#f5f4f0;color:#1c1b1a;border-color:#e8e6e1}.notification-table__actions{width:180px;text-align:center}.notification-table__actions .button{white-space:nowrap}.acknowledge-modal__message{font-size:16px;color:#1c1b1a;line-height:24px}.acknowledge-modal__actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.notifications-page h1{margin:0 0 1.5rem}.notifications-page__subtitle{margin-bottom:24px}.delete-alert-modal__message{font-size:16px;color:#495057;line-height:1.5}.delete-alert-modal__actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.delete-alert-modal .modal__header{padding-bottom:0!important}.toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle--disabled{cursor:not-allowed;opacity:.5}.toggle__input{position:absolute;opacity:0;width:0;height:0}.toggle__input:checked+.toggle__slider{background-color:#7078e0}.toggle__input:checked+.toggle__slider:before{transform:translate(20px)}.toggle__input:focus+.toggle__slider{box-shadow:0 0 0 2px #28a74540}.toggle__slider{position:relative;display:inline-block;width:44px;height:24px;background-color:#ccc;border-radius:24px;transition:background-color .3s}.toggle__slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .3s}.toggle__label{margin-left:8px;font-size:14px;color:#212529}.contextual-menu{position:relative;display:inline-block}.contextual-menu__trigger{background:none;border:none;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;color:#6c757d;border-radius:4px;transition:background-color .2s,color .2s}.contextual-menu__trigger:hover{background-color:#f8f9fa;color:#495057}.contextual-menu__trigger svg{font-size:18px}.contextual-menu__dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 2px 8px #00000026;min-width:150px;z-index:1000;overflow:hidden}.contextual-menu__item{width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#212529;transition:background-color .2s;display:block}.contextual-menu__item:hover{background-color:#f8f9fa}.contextual-menu__item--danger{color:#dc3545}.contextual-menu__item--danger:hover{background-color:#f8d7da}.contextual-menu__item:not(:last-child){border-bottom:1px solid #f0f0f0}.alert-table{width:100%}.alert-table__table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e8e6e1;border-radius:8px;box-shadow:0 1px 3px #0000001a}.alert-table__table thead th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #dee2e6}.alert-table__table thead th:first-child{border-top-left-radius:8px}.alert-table__table thead th:last-child{border-top-right-radius:8px}.alert-table__table tbody tr{border-bottom:1px solid #dee2e6;transition:background-color .2s}.alert-table__table tbody tr:hover{background-color:#f8f9fa}.alert-table__table tbody tr:last-child{border-bottom:none}.alert-table__table tbody tr:last-child td:first-child{border-bottom-left-radius:8px}.alert-table__table tbody tr:last-child td:last-child{border-bottom-right-radius:8px}.alert-table__table tbody tr td{padding:12px 16px;font-size:14px;color:#212529}.alert-table__name{font-weight:500}.alert-table__description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-table__status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.alert-table__status--enabled{background-color:#d4edda;color:#155724}.alert-table__status--disabled{background-color:#f8d7da;color:#721c24}.alert-table__actions{width:50px;text-align:center}.client-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;background:#f0f7ff;border:1px solid #bdd7f5;border-radius:20px;font-family:Sofia Pro;font-size:13px;font-weight:500;color:#1a6abf;white-space:nowrap}.client-badge--empty{background:#fdf6ee;border-color:#f5d9a8;color:#a06010}.client-badge__icon{font-size:.9rem;flex-shrink:0}.form-autocomplete{display:flex;flex-direction:column;position:relative}.form-autocomplete--disabled{opacity:.6;cursor:not-allowed}.form-autocomplete__label{font-family:Sofia Pro;font-size:14px;font-weight:400;color:#1c1b1a;display:flex;align-items:center;gap:4px}.form-autocomplete__asterisk{color:#f15a29;font-weight:700}.form-autocomplete__input-wrapper{position:relative}.form-autocomplete__field{padding:8px 16px;border:2px solid #E8E6E1;border-radius:8px;font-family:Sofia Pro;font-size:16px;color:#1c1b1a;transition:border-color .2s}.form-autocomplete__field:focus{outline:none;border-color:#7078e0}.form-autocomplete__field::placeholder{color:#1c1b1a66}.form-autocomplete__field{width:100%;padding:8px 40px 8px 16px;background-color:#fff}.form-autocomplete__field--error{border-color:#f15a29}.form-autocomplete__field:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-autocomplete__arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;transition:transform .2s}.form-autocomplete__arrow--open{transform:translateY(-50%) rotate(180deg)}.form-autocomplete__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:300px;overflow-y:auto;background:#fff;border:2px solid #E8E6E1;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;list-style:none;padding:4px}.form-autocomplete__group{list-style:none}.form-autocomplete__group:not(:last-child){margin-bottom:8px}.form-autocomplete__group-label{font-family:Sofia Pro;font-size:12px;font-weight:700;color:#666;text-transform:uppercase;padding:8px 12px 4px;letter-spacing:.5px}.form-autocomplete__option{padding:10px 12px;font-family:Sofia Pro;font-size:14px;color:#1c1b1a;cursor:pointer;border-radius:6px;transition:background-color .15s;-webkit-user-select:none;user-select:none}.form-autocomplete__option:hover,.form-autocomplete__option--highlighted{background-color:#f5f5f5}.form-autocomplete__option--selected{background-color:#e8e9f8;color:#7078e0;font-weight:600}.form-autocomplete__option--selected:hover,.form-autocomplete__option--selected.form-autocomplete__option--highlighted{background-color:#f4f5fc}.form-autocomplete__no-results{padding:12px;font-family:Sofia Pro;font-size:14px;color:#999;text-align:center;list-style:none}.form-autocomplete__error{font-family:Sofia Pro;font-size:13px;color:#f15a29;margin-top:4px;border-left:4px solid transparent}.form-autocomplete__dropdown::-webkit-scrollbar{width:8px}.form-autocomplete__dropdown::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.form-autocomplete__dropdown::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.form-autocomplete__dropdown::-webkit-scrollbar-thumb:hover{background:#aaa}.form-autocomplete__prefix-logo{display:block;position:absolute;background-color:#eeede8;z-index:100;padding:8px;width:40px;height:40px;border:2px solid #E8E6E1;border-top-left-radius:8px;border-bottom-left-radius:8px;clip-path:polygon(0 0,100% 0,100% 0%,90% 0%,90% 100%,100% 100%,100% 100%,0 100%)}.form-autocomplete__prefix-logo--open{border-left-color:#7078e0;border-top-color:#7078e0;border-bottom-color:#7078e0}.form-autocomplete__field-with-margin{padding-left:45px}.form-autocomplete{gap:5px}.atomic-rule{display:flex;flex-direction:row;gap:16px;margin-bottom:40px}.atomic-rule__has-aggregate{flex-direction:column}.atomic-rule__big-input{flex:4.5;display:flex}.atomic-rule__big-input .form-autocomplete{width:100%;min-width:346px}.atomic-rule__row{display:flex;flex-direction:row;gap:16px;margin-bottom:40px;flex:1;align-items:baseline}.alert-rule{border-bottom:1px solid #AAAAAA;display:flex;flex-direction:column;min-width:max-content;padding-bottom:40px;margin-bottom:40px}.alert-rule__and_separator{font-family:Sofia Pro;font-weight:700;font-style:Semi Bold;font-size:20px;line-height:28px;letter-spacing:0%;margin:24px 0}.step1-conditions h2{font-family:Sofia Pro;font-size:24px;font-weight:700;color:#1c1b1a;margin:0 0 24px}.step1-conditions h3{margin-bottom:16px}.time-constraints h2{font-family:Sofia Pro;font-size:24px;font-weight:700;color:#1c1b1a;margin:0 0 24px}.time-constraints__breach_threshold,.time-constraints__reminder_threshold{padding-top:16px;display:flex;flex-direction:row;gap:16px;margin-bottom:64px}.step3-suscriptors h3{font-family:Sofia Pro;font-size:20px;font-weight:600;color:#1c1b1a;margin:0 0 20px}.step3-suscriptors__list{display:flex;flex-direction:column;gap:24px;margin-bottom:16px}.person-info{display:flex;flex-direction:row;gap:16px;border-radius:8px;background-color:#fff;justify-content:space-between;align-items:baseline}.person-info__header{display:flex;align-items:flex-end;flex:2}.person-info__header .form-autocomplete{width:100%}.person-info__notifications-wrapper{display:flex;flex-direction:column;flex:4}.person-info__notifications{display:flex;gap:24px}.person-info__error{font-family:Sofia Pro;font-size:13px;color:#f15a29;margin-top:6px}.person-info__buttons{display:flex;gap:24px;flex:2;justify-content:right}.checkmark{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkmark--disabled{opacity:.6;cursor:not-allowed}.checkmark__input{position:absolute;opacity:0;width:0;height:0}.checkmark__box{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid #E8E6E1;border-radius:4px;transition:all .2s;background-color:#fff}.checkmark__input:checked~.checkmark__box{background-color:#7078e0;border-color:#7078e0}.checkmark__input:focus~.checkmark__box{box-shadow:0 0 0 3px #7078e01a}.checkmark__input:disabled~.checkmark__box{background-color:#f5f5f5;cursor:not-allowed}.checkmark__icon{opacity:0;transform:scale(.8);transition:all .2s}.checkmark__input:checked~.checkmark__box .checkmark__icon{opacity:1;transform:scale(1)}.checkmark__label{font-family:Sofia Pro;font-size:16px;color:#1c1b1a}.checkmark__input:disabled~.checkmark__label{color:#1c1b1a80}.create-alert-page{display:flex;flex-direction:column;gap:32px;height:100%}.create-alert-page__header{display:flex;flex-direction:column;justify-content:start;align-items:center;padding:0 24px;background:#fff;border-radius:12px}.create-alert-page__top-row{flex:1;display:flex;flex-direction:row;justify-content:space-between;width:100%;margin-bottom:8px;flex-wrap:wrap}.create-alert-page__step-indicator{font-family:Sofia Pro;font-size:32px;font-weight:800;color:#1c1b1a}.create-alert-page__step-description{font-family:Sofia Pro;font-weight:400;font-style:Regular;font-size:16px;line-height:24px;letter-spacing:0%;align-self:flex-start;max-width:590px}.create-alert-page__error{background-color:#fee;color:#c00;padding:12px 16px;border-radius:8px;border:1px solid #fcc;margin-top:12px;font-family:Sofia Pro;font-size:14px;line-height:20px;align-self:stretch}.create-alert-page__actions{display:flex;gap:12px}.create-alert-page__content{flex:1;background:#fff;border-radius:12px;padding:0 24px;overflow-y:auto}.not-found-page{display:flex;flex-direction:column;min-height:100vh}.not-found-page__header{padding:20px 32px;background-color:#fff}.not-found-page__logo{height:40px;width:auto}.not-found-page__content{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;gap:24px}.alerts-page h1{margin:0 0 1.5rem}.alerts-page__header{display:flex;flex-direction:row;justify-content:space-between;height:40px;margin-bottom:32px}.alerts-page__loading,.alerts-page__error{padding:48px 24px;text-align:center;font-family:Sofia Pro;font-size:16px;background:#fff;border-radius:12px}.alerts-page__error{color:#c00;background-color:#fee;border:1px solid #fcc}.alerts-page__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.alerts-page__create-btn{background:#fff;border:2px dashed #D4D2CF;border-radius:12px;padding:48px 24px;cursor:pointer;font-family:Sofia Pro;font-size:16px;font-weight:600;color:#1c1b1a;transition:all .2s ease;min-height:200px;display:flex;align-items:center;justify-content:center}.alerts-page__create-btn:hover{border-color:#a6a29a;background-color:#fafaf9}.alerts-page__create-btn:active{transform:scale(.98)}.alert-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #E8E7E5;transition:all .2s ease}.alert-card:hover{box-shadow:0 4px 12px #00000014;border-color:#d4d2cf}.alert-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.alert-card__name{font-family:Sofia Pro;font-size:20px;font-weight:700;color:#1c1b1a;margin:0;flex:1}.alert-card__status{font-family:Sofia Pro;font-size:12px;font-weight:600;padding:4px 12px;border-radius:12px;white-space:nowrap}.alert-card__status--enabled{background-color:#d4f4dd;color:#0d5520}.alert-card__status--disabled{background-color:#e8e7e5;color:#6b6862}.alert-card__description{font-family:Sofia Pro;font-size:14px;color:#6b6862;margin:0 0 16px;line-height:1.5}.alert-card__details{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #E8E7E5}.alert-card__detail{font-family:Sofia Pro;font-size:13px;color:#6b6862;display:flex;align-items:center;gap:6px}.alert-card__detail:before{content:"•";color:#a6a29a}.master-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #E8E7E5;transition:all .2s ease;cursor:pointer}.master-card:hover{box-shadow:0 4px 12px #00000014;border-color:#d4d2cf}.master-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.master-card__name{font-family:Sofia Pro;font-size:20px;font-weight:700;color:#1c1b1a;margin:0;flex:1}.master-card__status{font-family:Sofia Pro;font-size:12px;font-weight:600;padding:4px 12px;border-radius:12px;white-space:nowrap}.master-card__status--enabled{background-color:#d4f4dd;color:#0d5520}.master-card__status--disabled{background-color:#e8e7e5;color:#6b6862}.master-card__description{font-family:Sofia Pro;font-size:14px;color:#6b6862;margin:0 0 16px;line-height:1.5}.master-card__details{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #E8E7E5}.master-card__detail{font-family:Sofia Pro;font-size:13px;color:#6b6862;display:flex;align-items:center;gap:6px}.master-card__detail:before{content:"•";color:#a6a29a}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.terminal-modal{width:95%!important;max-width:1000px!important;height:80vh}.terminal-modal .modal__content{padding:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.terminal-modal__container{flex:1;background:#1c1b1a;padding:8px;border-radius:0 0 12px 12px;overflow:hidden}.terminal-modal__container .xterm{height:100%}.master-detail{display:flex;flex-direction:column;gap:24px}.master-detail__header{display:flex;flex-direction:column;gap:12px}.master-detail__back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:#6b6862;font-family:Sofia Pro,sans-serif;font-size:14px;padding:0;transition:color .2s ease}.master-detail__back:hover{color:#1c1b1a}.master-detail__title-row{display:flex;align-items:center;gap:16px}.master-detail__title{font-family:Sofia Pro,sans-serif;font-size:24px;font-weight:700;color:#1c1b1a;margin:0}.master-detail__status{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;white-space:nowrap}.master-detail__status--enabled{background:#d4f4dd;color:#0d5520}.master-detail__status--disabled{background:#e8e7e5;color:#6b6862}.master-detail__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.master-detail__grid{grid-template-columns:1fr}}.master-detail__one-col-grid{display:grid;grid-template-columns:repeat(1,1fr)}.master-detail__card{background:#fff;border:1px solid #E8E7E5;border-radius:12px;padding:20px}.master-detail__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.master-detail__card-header .master-detail__card-title{margin:0}.master-detail__card-title{font-family:Sofia Pro,sans-serif;font-size:16px;font-weight:700;color:#1c1b1a;margin:0 0 16px}.master-detail__info-list{display:flex;flex-direction:column;gap:12px}.master-detail__info-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #F2F1EF}.master-detail__info-item:last-child{padding-bottom:0;border-bottom:none}.master-detail__code-row{flex-direction:column;gap:10px;text-align:left}.master-detail__info-label{font-family:Sofia Pro,sans-serif;font-size:14px;color:#6b6862}.master-detail__info-value{font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;color:#1c1b1a}.master-detail__info-value--expired{color:#c00}.master-detail__code{font-family:monospace;font-size:13px;background:#f5f5f4;padding:4px 8px;border-radius:4px;color:#1c1b1a;word-break:break-all}.master-detail__copy-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid #E8E7E5;border-radius:6px;padding:4px 10px;cursor:pointer;font-family:Sofia Pro,sans-serif;font-size:13px;color:#6b6862;transition:all .2s ease;white-space:nowrap}.master-detail__copy-btn:hover{border-color:#d4d2cf;color:#1c1b1a;background:#f5f5f4}.master-detail__empty{font-family:Sofia Pro,sans-serif;font-size:14px;color:#a6a29a;margin:0}.master-detail__table{width:100%;border-collapse:collapse;font-family:Sofia Pro,sans-serif;font-size:14px}.master-detail__table th{text-align:left;font-weight:600;color:#6b6862;padding:8px 12px;border-bottom:2px solid #E8E7E5;font-size:13px}.master-detail__table td{padding:10px 12px;color:#1c1b1a;border-bottom:1px solid #F2F1EF}.master-detail__table tbody tr:last-child td{border-bottom:none}.master-detail__table code{font-family:monospace;font-size:13px;background:#f5f5f4;padding:2px 6px;border-radius:4px}.master-detail__table--nested{margin-top:12px}.master-detail__ports-grid{display:flex;flex-wrap:wrap;gap:8px}.master-detail__port-btn{padding:8px 16px;border:none;border-radius:6px;font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;cursor:pointer;background:#e8e6e1;color:#1c1b1a}.master-detail__port-btn:hover{background:#dddbd6}.master-detail__port-btn--active{background:#d4f4dd;color:#0d5520}.master-detail__port-btn--danger{background:#fde2e2;color:#991b1b}.master-detail__port-btn--virtual{background:transparent;border:1px dashed #6B6862;color:#6b6862;font-family:monospace;font-size:12px;font-weight:400;cursor:pointer}.master-detail__port-btn--virtual:hover{background:#f5f5f4;border-color:#1c1b1a;color:#1c1b1a}.master-detail__card-actions{display:flex;gap:8px}.master-detail__emulator-hint{font-family:Sofia Pro,sans-serif;font-size:13px;color:#6b6862;margin:0}.master-detail__emulator-hint code{font-family:monospace;font-size:12px;background:#f5f5f4;padding:1px 5px;border-radius:3px;color:#1c1b1a}.master-detail__drivers{display:flex;flex-direction:column;gap:16px}.master-detail__drivers button{margin-top:20px;margin-right:10px;text-transform:capitalize}.master-detail__driver{padding:16px;background:#fafaf9;border-radius:8px;border:1px solid #F2F1EF}.master-detail__driver-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.master-detail__driver-name{font-family:Sofia Pro,sans-serif;font-size:15px;font-weight:700;color:#1c1b1a}.master-detail__driver-meta{font-family:Sofia Pro,sans-serif;font-size:13px;color:#6b6862}.master-detail__driver-meta strong{color:#1c1b1a}.master-detail__bus-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid #F2F1EF}.master-detail__devices{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #F2F1EF}.master-detail__device-item{background:#fff;border:1px solid #E8E7E5;border-radius:6px;padding:8px 12px}.master-detail__device-header-row{display:flex;justify-content:space-between;align-items:center}.master-detail__device-name{font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;color:#1c1b1a}.master-detail__device-regs{font-family:Sofia Pro,sans-serif;font-size:12px;color:#6b6862}.master-detail__commands{display:flex;flex-direction:column;gap:20px}.master-detail__commands-grid{display:flex;flex-wrap:wrap;gap:8px}.master-detail__commands-grid button{text-transform:capitalize}.master-detail__command-form{display:flex;flex-direction:column;gap:8px}.master-detail__command-label{font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;color:#1c1b1a}.master-detail__command-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.master-detail__command-input{font-family:Sofia Pro,sans-serif;font-size:14px;padding:8px 12px;border:1px solid #E8E7E5;border-radius:6px;color:#1c1b1a;flex:1;min-width:180px;transition:border-color .2s ease}.master-detail__command-input:focus{outline:none;border-color:#a6a29a}.master-detail__command-input::placeholder{color:#a6a29a}.driver-config-page{display:flex;flex-direction:column;gap:24px;padding-bottom:96px}.driver-config-page__header{display:flex;flex-direction:column;gap:12px}.driver-config-page__back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:#6b6862;font-family:Sofia Pro,sans-serif;font-size:14px;padding:0;transition:color .2s ease}.driver-config-page__back:hover{color:#1c1b1a}.driver-config-page__title{font-family:Sofia Pro,sans-serif;font-size:24px;font-weight:700;color:#1c1b1a;margin:0}.driver-config{display:flex;flex-direction:column;gap:16px}.driver-config__section{background:#fafaf9;border:1px solid #F2F1EF;border-radius:8px;padding:18px 20px}.driver-config__section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.driver-config__section-title{font-family:Sofia Pro,sans-serif;font-size:15px;font-weight:700;color:#1c1b1a;margin:0;display:inline-flex;align-items:center;gap:8px}.driver-config__section-meta,.driver-config__section-hint{font-family:Sofia Pro,sans-serif;font-size:13px;color:#6b6862}.driver-config__section-meta strong,.driver-config__section-hint strong{color:#1c1b1a;font-weight:600}.driver-config__count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;border-radius:11px;background:#e8e7e5;color:#1c1b1a;font-size:12px;font-weight:600}.driver-config__bus{background:#fafaf9;border:1px solid #F2F1EF;border-radius:8px;padding:16px}.driver-config__bus-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.driver-config__bus-title{font-family:Sofia Pro,sans-serif;font-size:15px;font-weight:700;color:#1c1b1a}.driver-config__fields-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.driver-config__fields-row-full{display:grid;grid-template-columns:repeat(1,1fr);gap:12px}.driver-config__fields-row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.driver-config__devices-list{display:flex;flex-direction:column;gap:12px}.driver-config__device{background:#fff;border:1px solid #E8E7E5;border-radius:6px;padding:14px;transition:border-color .15s ease,box-shadow .15s ease}.driver-config__device:hover{border-color:#d4d2ce}.driver-config__device-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.driver-config__device-title{font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;color:#1c1b1a}.driver-config__empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;background:#fff;border:1px dashed #D4D2CE;border-radius:6px;text-align:center}.driver-config__empty-state p{margin:0;font-family:Sofia Pro,sans-serif;font-size:14px;color:#6b6862}.driver-config__registers{margin-top:10px}.driver-config__registers-label{font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;color:#6b6862;margin-bottom:8px}.driver-config__registers-selected{display:flex;flex-direction:column;gap:6px;margin-top:8px}.driver-config__register-chip{display:flex;align-items:center;justify-content:space-between;background:#f2f1ef;border:1px solid #E8E7E5;border-radius:6px;padding:6px 10px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a}.driver-config__remove-btn{background:none;border:1px solid transparent;cursor:pointer;color:#c00;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s,color .2s}.driver-config__remove-btn:hover:not(:disabled){background:#fff0f0;border-color:#ffd4d4}.driver-config__remove-btn:disabled{color:#c9c7c2;cursor:not-allowed}.driver-config__add-btn{display:inline-flex;align-items:center;gap:6px}.driver-config__actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;border-top:1px solid #E8E7E5}.driver-config__actions--sticky{position:sticky;bottom:0;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin:8px -20px 0;padding:14px 20px;border-top:1px solid #E8E7E5;z-index:5}.driver-config__actions-hint{margin-right:auto;font-family:Sofia Pro,sans-serif;font-size:13px;color:#c00}.driver-config__empty{font-family:Sofia Pro,sans-serif;font-size:14px;color:#a6a29a;text-align:center;padding:24px 0}.driver-config__detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.driver-config__detail-item{display:flex;flex-direction:column;gap:4px;padding:8px 0}.driver-config__detail-label{font-family:Sofia Pro,sans-serif;font-size:13px;color:#6b6862}.driver-config__detail-value{font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;color:#1c1b1a}.driver-config__register-chip--readonly{cursor:default;background:#e8e7e5}.driver-config__plan-chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;vertical-align:middle}.driver-config__plan-chip--basic{background:#f0fdf4;color:#15803d}.driver-config__plan-chip--standard{background:#eef0fc;color:#5a61c9}.driver-config__plan-chip--premium{background:#faf5ff;color:#7e22ce}.driver-config__channel-plans{margin-top:12px}.driver-config__channel-plans-label{font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;color:#6b6862;margin:0 0 8px}.driver-config__channel-plans-list{display:flex;flex-direction:column;gap:4px}.driver-config__channel-plan-chip{display:flex;align-items:center;gap:8px;background:#f2f1ef;border:1px solid #E8E7E5;border-radius:6px;padding:5px 10px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a}.driver-config__phase-info{color:#6b6862;font-size:12px}.sensor-table{width:100%}.sensor-table__table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e8e6e1;border-radius:8px;box-shadow:0 1px 3px #0000001a}.sensor-table__table thead th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #dee2e6}.sensor-table__table thead th:first-child{border-top-left-radius:8px}.sensor-table__table thead th:last-child{border-top-right-radius:8px}.sensor-table__table tbody tr{border-bottom:1px solid #dee2e6;transition:background-color .2s}.sensor-table__table tbody tr:hover{background-color:#f8f9fa}.sensor-table__table tbody tr:last-child{border-bottom:none}.sensor-table__table tbody tr:last-child td:first-child{border-bottom-left-radius:8px}.sensor-table__table tbody tr:last-child td:last-child{border-bottom-right-radius:8px}.sensor-table__table tbody tr td{padding:12px 16px;font-size:14px;color:#212529}.sensor-table__row{cursor:pointer}.sensor-table__name{font-weight:500}.sensor-table__plan-badge{display:block;width:fit-content;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:600;margin-bottom:6px}.sensor-table__plan-badge--basic{background:#f0fdf4;color:#15803d}.sensor-table__plan-badge--standard{background:#eef0fc;color:#5a61c9}.sensor-table__plan-badge--premium{background:#faf5ff;color:#7e22ce}.sensor-table__plan-select{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;border:none;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none}.sensor-table__plan-select--basic{background:#f0fdf4;color:#15803d}.sensor-table__plan-select--standard{background:#eef0fc;color:#5a61c9}.sensor-table__plan-select--premium{background:#faf5ff;color:#7e22ce}.sensor-table__plan-select:focus{box-shadow:0 0 0 2px #7078e040}.sensor-table__actions{white-space:nowrap;text-align:right}.sensor-table__action-btn{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;color:#6b6862;display:inline-flex;align-items:center;transition:background-color .15s,color .15s}.sensor-table__action-btn:hover{background:#f2f1ef;color:#1c1b1a}.sensor-table__action-btn--danger:hover{background:#fff0f0;color:#c00}.create-sensor-form__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e5e5e5}.create-sensor-form .form-input-container{margin-bottom:20px}.sensors-page h1{margin:0 0 1.5rem}.sensors-page__header{display:flex;flex-direction:row;justify-content:space-between;height:40px;margin-bottom:32px}.sensors-page__loading,.sensors-page__error{padding:48px 24px;text-align:center;font-family:Sofia Pro;font-size:16px;background:#fff;border-radius:12px}.sensors-page__error{color:#c00;background-color:#fee;border:1px solid #fcc}.channel-plans{background:#fff;border:1px solid #E8E6E1;border-radius:12px;padding:16px;margin-top:16px}.channel-plans__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.channel-plans__title{margin:0;font-size:15px;font-weight:600;color:#1c1b1a}.channel-plans__add-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f15a29;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.channel-plans__add-btn:disabled{opacity:.4;cursor:not-allowed}.channel-plans__add-btn:hover:not(:disabled){background:#d94e21}.channel-plans__loading{display:flex;align-items:center;gap:8px;color:#a6a29a;font-size:13px;padding:12px 0}.channel-plans__spinner{animation:spin 1s linear infinite}.channel-plans__empty{padding:20px 0;text-align:center;color:#a6a29a;font-size:13px}.channel-plans__empty-row{padding:24px 12px!important;text-align:center;color:#a6a29a;font-size:12px;font-style:italic}.channel-plans__table{width:100%;border-collapse:collapse;font-size:13px}.channel-plans__table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a6a29a;padding:8px 12px;border-bottom:1px solid #E8E6E1;background:#faf9f7}.channel-plans__table td{padding:6px 12px;border-bottom:1px solid #f0efed;vertical-align:middle;color:#1c1b1a}.channel-plans__table .plan-row:hover{background-color:#f9f8f5;cursor:pointer}.channel-plans__table tr:last-child td{border-bottom:none}.channel-plans__th-actions{width:90px}.channel-plans__actions{display:flex;gap:4px;justify-content:flex-end}.channel-plans__icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #E8E6E1;background:#fff;border-radius:6px;cursor:pointer;color:#6b6862;transition:background .15s,color .15s,border-color .15s}.channel-plans__icon-btn:hover:not(:disabled){background:#faf9f7;color:#1c1b1a;border-color:#d4d2cf}.channel-plans__icon-btn:disabled{opacity:.4;cursor:not-allowed}.channel-plans__icon-btn--danger{color:#c0392b}.channel-plans__icon-btn--danger:hover:not(:disabled){background:#fdecea;color:#a93226;border-color:#f5c6c2}.channel-plans__select{min-width:110px;padding:4px 8px;border:1px solid #E8E6E1;border-radius:6px;background:#fff;font-size:13px;color:#1c1b1a}.channel-plans__select:focus{outline:none;border-color:#7078e0;box-shadow:0 0 0 2px #7078e026}.channel-plans__select:disabled{opacity:.5;cursor:not-allowed;background:#faf9f7}.channel-plans__new-row{background:#fafbff}.channel-plans__hint{margin:12px 0 0;font-size:11px;color:#a6a29a;line-height:1.4}.sensor-detail__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 20px;color:#a6a29a;font-family:Sofia Pro,sans-serif;font-size:14px}.sensor-detail__spinner{animation:spin 1s linear infinite}.sensor-detail__header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.sensor-detail__back{display:flex;align-items:center;padding:7px;background:none;border:1px solid #e8e6e1;border-radius:7px;color:#5c5953;cursor:pointer;transition:all .15s}.sensor-detail__back:hover{background:#f5f4f2;color:#1c1b1a}.sensor-detail__header-icon{color:#3b82f6}.sensor-detail__title{font-family:Sofia Pro,sans-serif;font-size:22px;font-weight:700;color:#1c1b1a;margin:0}.sensor-detail__plan-badge-separator{color:#d4d2cf;font-size:16px}.sensor-detail__plan-subtitle{font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;color:#5c5953}.sensor-detail__plan-badge{display:inline-flex;padding:3px 10px;border-radius:20px;font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sensor-detail__plan-badge--basic{background:#f5f4f2;color:#5c5953}.sensor-detail__plan-badge--standard{background:#eff6ff;color:#2563eb}.sensor-detail__plan-badge--premium{background:#fef3c7;color:#d97706}.sensor-detail__info-cards{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap}.sensor-detail__info-card{display:flex;flex-direction:column;gap:4px;padding:14px 20px;background:#fff;border:1px solid #e8e6e1;border-radius:10px;min-width:120px}.sensor-detail__info-label{font-family:Sofia Pro,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#a6a29a}.sensor-detail__info-value{font-family:Sofia Pro,sans-serif;font-size:16px;font-weight:700;color:#1c1b1a}.sensor-detail__dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.sensor-detail__section-title{font-family:Sofia Pro,sans-serif;font-size:15px;font-weight:700;color:#1c1b1a;margin:0}.sensor-detail__date-range{display:flex;align-items:center;gap:8px}.sensor-detail__date-label{font-family:Sofia Pro,sans-serif;font-size:12px;font-weight:600;color:#a6a29a}.sensor-detail__date-input{padding:6px 10px;border:1px solid #d4d2cf;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;background:#fff;outline:none;transition:border-color .15s}.sensor-detail__date-input:focus{border-color:#f15a29}.sensor-detail__date-apply{padding:6px 14px;background:#f15a29;color:#fff;border:none;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.sensor-detail__date-apply:hover{background:#d94e21}.sensor-detail__graph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.sensor-detail__graph-card{background:#fff;border:1px solid #e8e6e1;border-radius:12px;padding:16px;min-height:280px;display:flex;flex-direction:column}.sensor-detail__graph-card--loading,.sensor-detail__graph-card--error,.sensor-detail__graph-card--empty{align-items:center;justify-content:center;gap:8px;color:#a6a29a;font-family:Sofia Pro,sans-serif;font-size:13px}.sensor-detail__graph-card--error{color:#ef4444}.sensor-detail__graph-card--add{border-style:dashed;border-color:#d4d2cf;align-items:center;justify-content:center;transition:border-color .15s}.sensor-detail__graph-card--add:hover{border-color:#f15a29}.sensor-detail__graph-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sensor-detail__graph-title{font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:700;color:#1c1b1a;flex:1}.sensor-detail__graph-unit{font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:600;color:#a6a29a;background:#f5f4f2;padding:2px 8px;border-radius:4px}.sensor-detail__graph-zoom{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;border-radius:5px;color:#a6a29a;cursor:pointer;transition:color .15s,background .15s}.sensor-detail__graph-zoom:hover{color:#3b82f6;background:#eff6ff}.sensor-detail__graph-remove{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;border-radius:5px;color:#a6a29a;cursor:pointer;transition:color .15s,background .15s}.sensor-detail__graph-remove:hover{color:#ef4444;background:#fef2f2}.sensor-detail__graph-body{flex:1;min-height:0}.sensor-detail__add-graph-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:none;border:none;cursor:pointer;color:#a6a29a;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;transition:color .15s}.sensor-detail__add-graph-btn:hover{color:#f15a29}.sensor-detail__metric-picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:280px}.sensor-detail__picker-title{font-family:Sofia Pro,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#a6a29a;text-align:center}.sensor-detail__picker-search{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #e8e6e1;border-radius:7px}.sensor-detail__picker-search-icon{color:#a6a29a;flex-shrink:0}.sensor-detail__picker-search-input{border:none;background:transparent;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;outline:none;flex:1;min-width:0}.sensor-detail__picker-search-input::placeholder{color:#a6a29a}.sensor-detail__picker-search-clear{display:flex;align-items:center;background:none;border:none;color:#a6a29a;cursor:pointer;padding:2px;border-radius:3px}.sensor-detail__picker-search-clear:hover{color:#1c1b1a}.sensor-detail__picker-empty{text-align:center;padding:12px;color:#a6a29a;font-family:Sofia Pro,sans-serif;font-size:12px;font-style:italic}.sensor-detail__picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.sensor-detail__picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:#faf9f7;border:1px solid #e8e6e1;border-radius:7px;cursor:pointer;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;transition:all .15s}.sensor-detail__picker-item:hover{background:#fff7ed;border-color:#f15a29}.sensor-detail__picker-name{font-weight:600}.sensor-detail__picker-unit{font-size:11px;color:#a6a29a}.sensor-detail__picker-cancel{padding:6px;background:none;border:none;cursor:pointer;font-family:Sofia Pro,sans-serif;font-size:12px;color:#a6a29a;text-align:center}.sensor-detail__picker-cancel:hover{color:#1c1b1a}.sensor-detail__zoom-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.sensor-detail__zoom-modal{background:#fff;border-radius:16px;width:100%;height:100%;max-width:100%;max-height:100%;display:flex;flex-direction:column;padding:24px;box-shadow:0 20px 60px #0000004d}.sensor-detail__zoom-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-shrink:0}.sensor-detail__zoom-body{flex:1;min-height:0}.clientes-page__header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:40px;margin-bottom:32px}.clientes-page__header h1{margin:0}.clientes-page__loading,.clientes-page__error{padding:48px 24px;text-align:center;font-family:Sofia Pro;font-size:16px;background:#fff;border-radius:12px}.clientes-page__error{color:#c00;background-color:#fee;border:1px solid #fcc}.clientes-page__table-wrapper{background:#fff;border-radius:12px;border:1px solid #E8E7E5;overflow:hidden}.clientes-page__table{width:100%;border-collapse:collapse;font-family:Sofia Pro;font-size:14px}.clientes-page__table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b6862;border-bottom:1px solid #E8E7E5;background:#fafaf9}.clientes-page__table td{padding:14px 16px;color:#1c1b1a;border-bottom:1px solid #F0EFED}.clientes-page__table tbody tr:last-child td{border-bottom:none}.clientes-page__table tbody tr:hover td{background:#fafaf9}.clientes-page__id{color:#a6a29a;font-size:12px;width:48px}.clientes-page__topic{font-family:monospace;font-size:13px;color:#5c5953}.clientes-page__actions{width:80px;text-align:right}.clientes-page__action-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#a6a29a;font-size:1rem;transition:all .15s}.clientes-page__action-btn:hover{background:#f0efed;color:#1c1b1a}.clientes-page__action-btn--danger:hover{background:#fee;color:#c00}.usuarios-page__header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:40px;margin-bottom:32px}.usuarios-page__header h1{margin:0}.usuarios-page__loading,.usuarios-page__error{padding:48px 24px;text-align:center;font-family:Sofia Pro;font-size:16px;background:#fff;border-radius:12px}.usuarios-page__error{color:#c00;background-color:#fee;border:1px solid #fcc}.usuarios-page__table-wrapper{background:#fff;border-radius:12px;border:1px solid #E8E7E5;overflow:hidden}.usuarios-page__table{width:100%;border-collapse:collapse;font-family:Sofia Pro;font-size:14px}.usuarios-page__table th{padding:12px 16px;text-align:left;font-weight:600;color:#6b6862;border-bottom:1px solid #E8E7E5;background:#fafaf9}.usuarios-page__table td{padding:14px 16px;color:#1c1b1a;border-bottom:1px solid #F0EFED}.usuarios-page__table tbody tr:last-child td{border-bottom:none}.usuarios-page__table tbody tr:hover td{background:#fafaf9}.usuarios-page__email{color:#5c5953;font-size:13px}.usuarios-page__phone{color:#a6a29a;font-size:13px}.usuarios-page__client{color:#5c5953;font-size:13px}.usuarios-page__role-badge{display:inline-block;padding:2px 8px;background:#eef2ff;color:#4338ca;border-radius:4px;font-size:12px;font-weight:600}.usuarios-page__no-role{color:#a6a29a}.usuarios-page__actions{width:80px;text-align:right}.usuarios-page__action-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#a6a29a;font-size:1rem;transition:all .15s}.usuarios-page__action-btn:hover{background:#f0efed;color:#1c1b1a}.usuarios-page__action-btn--danger:hover{background:#fee;color:#c00}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.diagram-page{display:flex;flex-direction:column;height:100%;background:#faf9f7}.diagram-page__content{flex:1;display:flex;overflow:hidden}.diagram-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px;padding:48px 24px}.diagram-empty__icon{font-size:40px;color:#d4d2cf}.diagram-empty__title{font-family:Sofia Pro,sans-serif;font-size:24px;font-weight:700;color:#1c1b1a;margin:0}.diagram-empty__desc{font-family:Sofia Pro,sans-serif;font-size:15px;color:#5c5953;text-align:center;max-width:420px;line-height:1.5}.diagram-empty__form{display:flex;gap:8px;margin-top:8px}.diagram-empty__input{padding:10px 14px;border:1px solid #d4d2cf;border-radius:8px;font-family:Sofia Pro,sans-serif;font-size:14px;color:#1c1b1a;background:#fff;width:280px;outline:none;transition:border-color .15s}.diagram-empty__input:focus{border-color:#f15a29}.diagram-empty__btn{padding:10px 20px;background:#f15a29;color:#fff;border:none;border-radius:8px;font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.diagram-empty__btn:hover{background:#d94e21}.diagram-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#fff;border-bottom:1px solid #e8e6e1;flex-shrink:0}.diagram-toolbar__left{display:flex;align-items:center;gap:8px}.diagram-toolbar__back{display:flex;align-items:center;padding:6px;background:none;border:1px solid #e8e6e1;border-radius:7px;color:#5c5953;cursor:pointer;transition:all .15s}.diagram-toolbar__back:hover{background:#f5f4f2;color:#1c1b1a}.diagram-toolbar__title{font-family:Sofia Pro,sans-serif;font-size:16px;font-weight:700;color:#1c1b1a}.diagram-toolbar__month-nav{display:flex;align-items:center;gap:4px}.diagram-toolbar__month-label{font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;color:#1c1b1a;background:none;border:1px solid transparent;border-radius:6px;padding:5px 10px;cursor:default;white-space:nowrap;min-width:130px;text-align:center}.diagram-toolbar__month-label--past{color:#f15a29;border-color:#f15a29;cursor:pointer;transition:background .15s}.diagram-toolbar__month-label--past:hover{background:#fef3ee}.diagram-toolbar__month-label:disabled{cursor:default;opacity:1}.diagram-toolbar__search{display:flex;align-items:center;gap:6px;background:#faf9f7;border:1px solid #e8e6e1;border-radius:7px;padding:6px 10px;min-width:200px}.diagram-toolbar__search-icon{color:#a6a29a;flex-shrink:0}.diagram-toolbar__search-input{border:none;background:transparent;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;outline:none;flex:1;min-width:0}.diagram-toolbar__search-input::placeholder{color:#a6a29a}.diagram-toolbar__search-count{font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:600;color:#f15a29;white-space:nowrap}.diagram-toolbar__search-clear{background:none;border:none;cursor:pointer;color:#a6a29a;padding:2px;border-radius:3px;display:flex;align-items:center;flex-shrink:0;transition:color .15s}.diagram-toolbar__search-clear:hover{color:#1c1b1a}.diagram-toolbar__actions{display:flex;align-items:center;gap:6px}.diagram-toolbar__group{display:flex;gap:2px}.diagram-toolbar__divider{width:1px;height:20px;background:#e8e6e1;margin:0 4px}.diagram-toolbar__btn{display:flex;align-items:center;gap:6px;padding:7px 12px;background:#fff;border:1px solid #d4d2cf;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;cursor:pointer;transition:all .15s}.diagram-toolbar__btn svg{flex-shrink:0}.diagram-toolbar__btn:hover:not(:disabled){background:#f5f4f2;border-color:#a6a29a}.diagram-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.diagram-toolbar__btn--active{background:#fff4f0;border-color:#f15a29;color:#f15a29}.diagram-toolbar__btn--active:hover{background:#ffe8de}.diagram-toolbar__btn--save{background:#f0f7ff;border-color:#93c5fd;color:#1d6fa8}.diagram-toolbar__btn--save:hover:not(:disabled){background:#dbeafe;border-color:#60a5fa}.diagram-toolbar__btn--unsaved{background:#fff7ed;border-color:#fbbf24;color:#92400e}.diagram-toolbar__btn--unsaved:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b}.diagram-toolbar__spinner{animation:diagram-spin .8s linear infinite}@keyframes diagram-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.diagram-canvas{flex:1;height:100%}.diagram-canvas .react-flow__attribution{display:none}.diagram-node{background:#fff;border:1.5px solid #e8e6e1;border-radius:10px;min-width:200px;max-width:240px;font-family:Sofia Pro,sans-serif;box-shadow:0 1px 4px #0000000f;cursor:pointer;transition:box-shadow .15s,border-color .15s}.diagram-node:hover{box-shadow:0 3px 10px #0000001a}.diagram-node--selected{border-color:#f15a29;box-shadow:0 0 0 3px #f15a2926}.diagram-node--company{border-top:3px solid #f15a29}.diagram-node--place{border-top:3px solid #3b82f6}.diagram-node--pm{border-top:3px solid #10b981}.diagram-node__handle{background:#d4d2cf!important;border:2px solid #fff!important;width:10px!important;height:10px!important}.diagram-node__header{display:flex;align-items:center;gap:6px;padding:8px 10px 4px}.diagram-node__icon{font-size:14px;flex-shrink:0}.diagram-node__icon--company{color:#f15a29}.diagram-node__icon--place{color:#3b82f6}.diagram-node__icon--pm{color:#10b981}.diagram-node__badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a6a29a;flex:1}.diagram-node__sensor-badge{display:flex;align-items:center;gap:3px;background:#f0fdf4;color:#10b981;border:1px solid #bbf7d0;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.diagram-node__plan-badge{border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.diagram-node__plan-badge--basic{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.diagram-node__plan-badge--standard{background:#eef0fc;color:#5a61c9;border:1px solid #c7d2fe}.diagram-node__plan-badge--premium{background:#faf5ff;color:#7e22ce;border:1px solid #e9d5ff}.diagram-node__body{padding:4px 10px 10px}.diagram-node__name{display:block;font-size:13px;font-weight:600;color:#1c1b1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.diagram-node__reading{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:#10b981;margin-bottom:8px}.diagram-node__reading--partial{color:#f59e0b}.diagram-node__reading--stale{color:#94a3b8}.diagram-node__reading-stale-tag{font-size:10px;font-weight:700;opacity:.7}.diagram-node__reading-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;animation:reading-pulse 2s ease-in-out infinite}@keyframes reading-pulse{0%,to{opacity:1}50%{opacity:.35}}.diagram-node__input{display:block;width:100%;padding:4px 8px;border:1px solid #f15a29;border-radius:5px;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;color:#1c1b1a;margin-bottom:8px;outline:none;background:#fff}.diagram-node__actions{display:flex;align-items:center;gap:4px}.diagram-node__btn{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid #e8e6e1;border-radius:5px;background:#faf9f7;color:#5c5953;font-family:Sofia Pro,sans-serif;font-size:11px;cursor:pointer;transition:all .15s}.diagram-node__btn svg{font-size:12px}.diagram-node__btn:hover{background:#f5f4f2;border-color:#a6a29a;color:#1c1b1a}.diagram-node__btn--add{color:#1c1b1a;font-weight:600}.diagram-node__btn--danger{border:none;background:none;padding:3px 5px;color:#a6a29a}.diagram-node__btn--danger:hover{color:#ef4444;background:#fef2f2;border-color:transparent}.diagram-node__btn--collapse{gap:3px;padding:3px 6px;color:#a6a29a;margin-left:auto}.diagram-node__btn--collapse:hover{color:#1c1b1a}.diagram-node__collapsed-count{font-size:10px;font-weight:700;color:#a6a29a}.diagram-node__metrics{list-style:none;display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.diagram-node__metric{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:3px 0;border-bottom:1px solid #f0efed}.diagram-node__metric:last-child{border-bottom:none}.diagram-node__metric--dual{flex-direction:column;align-items:stretch;gap:4px}.diagram-node__metric-label{font-size:10px;color:#a6a29a;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-node__metric-unit{margin-left:3px;font-size:9px;color:#c4c1bc}.diagram-node__metric-value{font-size:11px;font-weight:700;color:#1c1b1a;white-space:nowrap}.diagram-node__metric-cells{display:flex;gap:4px}.diagram-node__metric-cell{flex:1;display:flex;flex-direction:column;align-items:center;background:#f7f6f4;border-radius:5px;padding:3px 4px 4px}.diagram-node__metric-cell--accent{background:#f0fdf4}.diagram-node__metric-cell--energy{background:#eff6ff}.diagram-node__metric-cell-tag{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#a6a29a;line-height:1;margin-bottom:1px}.diagram-node__metric-cell--accent .diagram-node__metric-cell-tag{color:#10b981}.diagram-node__metric-cell--energy .diagram-node__metric-cell-tag{color:#3b82f6}.diagram-node__metric-cell-val{font-size:11px;font-weight:700;color:#1c1b1a;line-height:1.2}.diagram-node__metric-cell--accent .diagram-node__metric-cell-val{color:#059669}.diagram-node__metric-cell--energy .diagram-node__metric-cell-val{color:#1d4ed8}.diagram-node__mode-badge{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:4px 0;border:none;border-top:1px solid #f0efed;border-radius:0 0 8px 8px;font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:filter .15s}.diagram-node__mode-badge:hover{filter:brightness(.93)}.diagram-node__mode-badge--consumption{background:#fff7ed;color:#ea580c}.diagram-node__mode-badge--contribution{background:#f0fdf4;color:#16a34a}@keyframes edge-flow-forward{0%{stroke-dashoffset:16}to{stroke-dashoffset:0}}@keyframes edge-flow-reverse{0%{stroke-dashoffset:0}to{stroke-dashoffset:16}}.animated-pm-edge{pointer-events:none}.animated-pm-edge--consumption{animation:edge-flow-forward .8s linear infinite}.animated-pm-edge--contribution{animation:edge-flow-reverse .8s linear infinite}.react-flow__node.drop-target--valid .diagram-node{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98140!important}.react-flow__node.drop-target--invalid .diagram-node{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444440!important}.react-flow__node.node--search-dim{opacity:.25;transition:opacity .2s}.react-flow__node.node--search-match .diagram-node{border-color:#f15a29;box-shadow:0 0 0 3px #f15a292e}.react-flow__node.node--search-match{transition:opacity .2s}.react-flow__node.node--path-highlight .diagram-node{border-color:#a855f7;box-shadow:0 0 0 3px #a855f733;background:linear-gradient(135deg,#fff 85%,#faf5ff)}.react-flow__edge.node--path-highlight path{stroke:#a855f7!important;stroke-width:2.5px!important}.diagram-inspector{width:280px;flex-shrink:0;position:relative;background:#fff;border-left:1px solid #e8e6e1;display:flex;flex-direction:column;overflow-y:auto;padding:16px;gap:20px}.diagram-inspector__resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:10}.diagram-inspector__resize-handle:hover,.diagram-inspector__resize-handle:active{background:#e2e0db}.diagram-inspector__header{display:flex;align-items:center;justify-content:space-between}.diagram-inspector__type-badge{font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:20px}.diagram-inspector__type-badge--company{background:#fff4f0;color:#f15a29;border:1px solid #fecdb9}.diagram-inspector__type-badge--place{background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.diagram-inspector__type-badge--pm{background:#f0fdf4;color:#10b981;border:1px solid #bbf7d0}.diagram-inspector__header-actions{display:flex;align-items:center;gap:4px}.diagram-inspector__path-btn{display:flex;align-items:center;gap:5px;padding:4px 8px;background:none;border:1px solid #e8e6e1;border-radius:5px;font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:600;color:#5c5953;cursor:pointer;transition:all .15s}.diagram-inspector__path-btn:hover{background:#f5f4f2;color:#a855f7;border-color:#a855f7}.diagram-inspector__path-btn--active{background:#faf5ff;color:#a855f7;border-color:#d8b4fe}.diagram-inspector__close{background:none;border:none;cursor:pointer;color:#a6a29a;display:flex;align-items:center;padding:4px;border-radius:5px;transition:color .15s,background .15s}.diagram-inspector__close:hover{color:#1c1b1a;background:#f5f4f2}.diagram-inspector__section{display:flex;flex-direction:column;gap:8px}.diagram-inspector__section--danger{margin-top:auto;padding-top:16px;border-top:1px solid #e8e6e1}.diagram-inspector__label{display:flex;align-items:center;gap:5px;font-family:Sofia Pro,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#a6a29a}.diagram-inspector__input{padding:8px 10px;border:1px solid #d4d2cf;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;background:#fff;outline:none;transition:border-color .15s}.diagram-inspector__input:focus{border-color:#f15a29}.diagram-inspector__input--inline{padding:2px 6px;font-size:12px;flex:1}.diagram-inspector__list{list-style:none;display:flex;flex-direction:column;gap:4px}.diagram-inspector__list-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#faf9f7;border-radius:6px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a}.diagram-inspector__list-item--sensor{flex-direction:column;align-items:stretch;gap:6px}.diagram-inspector__list-item--metric{justify-content:space-between;padding:5px 8px}.diagram-inspector__metric-label{font-family:Sofia Pro,sans-serif;font-size:12px;color:#5c5953;flex:1}.diagram-inspector__metric-value{font-family:Sofia Pro,sans-serif;font-size:12px;font-weight:700;color:#1c1b1a;white-space:nowrap}.diagram-inspector__metric-range{font-weight:400;font-size:10px;color:#8a8885;margin-left:4px}.diagram-inspector__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.diagram-inspector__dot--company{background:#f15a29}.diagram-inspector__dot--place{background:#3b82f6}.diagram-inspector__dot--pm{background:#10b981}.diagram-inspector__sensor-name{flex:1;cursor:pointer}.diagram-inspector__sensor-name:hover{text-decoration:underline}.diagram-inspector__mode-toggle{display:flex;gap:6px}.diagram-inspector__mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border:1.5px solid #e8e6e1;border-radius:7px;background:#faf9f7;font-family:Sofia Pro,sans-serif;font-size:12px;font-weight:600;color:#a6a29a;cursor:pointer;transition:all .15s}.diagram-inspector__mode-btn--consumption.diagram-inspector__mode-btn--active{background:#fff7ed;border-color:#fdba74;color:#ea580c}.diagram-inspector__mode-btn--contribution.diagram-inspector__mode-btn--active{background:#f0fdf4;border-color:#86efac;color:#16a34a}.diagram-inspector__mode-btn:not(.diagram-inspector__mode-btn--active):hover{background:#f5f4f2;border-color:#a6a29a;color:#1c1b1a}.diagram-inspector__sensor-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.diagram-inspector__sensor-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.diagram-inspector__plan-hint{font-family:Sofia Pro,sans-serif;font-size:11px;color:#8a8885;font-style:italic}.diagram-inspector__icon-btn{background:none;border:none;cursor:pointer;color:#a6a29a;padding:3px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.diagram-inspector__icon-btn--danger:hover{color:#ef4444;background:#fef2f2}.diagram-inspector__icon-btn--path-active{color:#a855f7;background:#faf5ff}.diagram-inspector__icon-btn:not(.diagram-inspector__icon-btn--danger):not(.diagram-inspector__icon-btn--path-active):hover{color:#a855f7;background:#faf5ff}.diagram-inspector__add-sensor{display:flex;align-items:center;gap:6px}.diagram-inspector__select{flex:1;padding:7px 10px;border:1px solid #d4d2cf;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;background:#fff;outline:none;cursor:pointer;transition:border-color .15s;min-width:0}.diagram-inspector__select:focus{border-color:#f15a29}.diagram-inspector__sensors-loading{display:flex;align-items:center;gap:6px;font-size:12px;color:#a6a29a;font-family:Sofia Pro,sans-serif}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.diagram-inspector__spin{animation:spin 1s linear infinite}.diagram-inspector__add-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f15a29;color:#fff;border:none;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.diagram-inspector__add-btn:hover{background:#d94e21}.diagram-inspector__delete-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fef2f2;color:#ef4444;border:1px solid #fecaca;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;cursor:pointer;width:100%;justify-content:center;transition:background .15s}.diagram-inspector__delete-btn:hover{background:#fee2e2}.diagram-inspector__reading-age{font-weight:400;color:#a6a29a;margin-left:auto;font-size:11px}.diagram-inspector__refresh-btn{background:none;border:none;cursor:pointer;color:#a6a29a;display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s}.diagram-inspector__refresh-btn:hover{color:#1c1b1a}.diagram-inspector__kw-total{display:flex;justify-content:space-between;align-items:flex-start;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;padding:8px 10px;margin-bottom:8px}.diagram-inspector__kw-total--partial{background:#fffbeb;border-color:#fde68a}.diagram-inspector__kw-total--stale{background:#f8fafc;border-color:#cbd5e1}.diagram-inspector__kw-label{font-size:11px;color:#5c5953;display:flex;flex-direction:column;gap:3px}.diagram-inspector__kw-value{font-size:15px;font-weight:700;color:#10b981}.diagram-inspector__kw-total--partial .diagram-inspector__kw-value{color:#f59e0b}.diagram-inspector__kw-total--stale .diagram-inspector__kw-value{color:#94a3b8}.diagram-inspector__poll-info{font-size:11px;color:#a6a29a;text-align:right;margin-bottom:4px}.diagram-inspector__partial-tag{font-size:10px;font-weight:600;background:#fef3c7;color:#92400e;border-radius:4px;padding:1px 4px}.diagram-inspector__readings-table{width:100%;border-collapse:collapse;font-size:12px}.diagram-inspector__readings-table tr:not(:last-child) td{border-bottom:1px solid #f5f4f2}.diagram-inspector__readings-row--synced td{color:#0369a1}.diagram-inspector__readings-time{color:#a6a29a;font-size:10px;white-space:nowrap;padding:4px 6px 4px 0;font-variant-numeric:tabular-nums}.diagram-inspector__readings-key{color:#5c5953;padding:4px 0;font-size:11px;line-height:1.3;width:100%}.diagram-inspector__readings-value{text-align:right;font-weight:600;color:#1c1b1a;white-space:nowrap;padding:4px 0 4px 8px}.diagram-inspector__readings-toolbar{display:flex;align-items:center;gap:6px}.diagram-inspector__readings-filter{flex:1;width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid #e2e0db;border-radius:6px;font-size:12px;font-family:Sofia Pro,sans-serif;color:#1c1b1a;background:#fafaf9;outline:none}.diagram-inspector__readings-filter:focus{border-color:#a6a29a;background:#fff}.diagram-inspector__readings-filter::placeholder{color:#a6a29a}.diagram-inspector__readings-group{display:flex;flex-direction:column;gap:2px}.diagram-inspector__readings-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#a6a29a;padding:6px 0 2px;border-bottom:1px solid #f0ede8;margin-bottom:2px}.diagram-inspector__readings-empty{font-size:12px;color:#a6a29a;margin:4px 0 0;text-align:center}.diagram-inspector__kw-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:14px;height:14px;border-radius:3px;border:1px solid #d1cfc9;background:#f5f4f2;color:#6b6862;font-size:9px;font-weight:700;cursor:pointer;line-height:1;padding:0;vertical-align:middle}.diagram-inspector__kw-toggle:hover{background:#e8e6e1;border-color:#a6a29a}.diagram-inspector__kw-toggle--active{background:#0369a1;border-color:#0369a1;color:#fff}.diagram-inspector__kw-toggle:disabled{opacity:.4;cursor:not-allowed}.places-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.places-page__header h1{font-family:Sofia Pro,sans-serif;font-size:22px;font-weight:700;color:#1c1b1a;margin:0}.places-page__header-left{display:flex;align-items:center;gap:12px}.places-page__add-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f15a29;color:#fff;border:none;border-radius:8px;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.places-page__add-btn:hover:not(:disabled){background:#d94e21}.places-page__add-btn:disabled{opacity:.5;cursor:default}.places-page__cancel-btn{display:flex;align-items:center;gap:5px;padding:8px 14px;background:none;border:1px solid #e8e6e1;border-radius:8px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#5c5953;cursor:pointer;transition:all .15s}.places-page__cancel-btn:hover{background:#f5f4f2}.places-page__form{display:flex;align-items:center;gap:10px;padding:16px;background:#faf9f7;border:1px solid #e8e6e1;border-radius:10px;margin-bottom:20px;flex-wrap:wrap}.places-page__input{padding:8px 12px;border:1px solid #d4d2cf;border-radius:7px;font-family:Sofia Pro,sans-serif;font-size:13px;color:#1c1b1a;outline:none;min-width:200px;background:#fff;transition:border-color .15s}.places-page__input:focus{border-color:#f15a29}.places-page__loading,.places-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#a6a29a;font-family:Sofia Pro,sans-serif;font-size:14px}.places-page__empty-icon{color:#d4d2cf}.places-page__table-wrap{background:#fff;border:1px solid #e8e6e1;border-radius:12px;overflow:hidden}.places-page__table{width:100%;border-collapse:collapse;font-family:Sofia Pro,sans-serif;font-size:14px}.places-page__table thead tr{background:#faf9f7;border-bottom:1px solid #e8e6e1}.places-page__table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#a6a29a}.places-page__table td{padding:14px 16px;color:#1c1b1a}.places-page__table tbody tr+tr{border-top:1px solid #f5f4f2}.places-page__row{cursor:pointer;transition:background .12s}.places-page__row:hover{background:#faf9f7}.places-page__name-cell{display:flex;align-items:center;gap:8px;font-weight:600}.places-page__row-icon{color:#3b82f6;flex-shrink:0}.places-page__desc-cell{color:#5c5953;font-size:13px}.places-page__actions-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end}.places-page__inline-input{border:1px solid #f15a29;border-radius:5px;padding:4px 8px;font-family:Sofia Pro,sans-serif;font-size:14px;font-weight:600;outline:none;color:#1c1b1a;background:#fff}.places-page__price-cell{white-space:nowrap}.places-page__price-value{font-weight:600;color:#1c1b1a;font-size:13px}.places-page__price-empty{color:#a6a29a;font-weight:400;font-style:italic}.places-page__price-form{display:flex;align-items:center;gap:6px}.places-page__price-currency{font-size:12px;font-weight:600;color:#5c5953;white-space:nowrap}.places-page__price-input{width:90px;padding:4px 8px;border:1px solid #f15a29;border-radius:5px;font-family:Sofia Pro,sans-serif;font-size:13px;font-weight:600;outline:none;color:#1c1b1a;background:#fff}.places-page__price-input::-webkit-inner-spin-button,.places-page__price-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.places-page__price-input{-moz-appearance:textfield}.places-page__icon-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;border-radius:6px;color:#a6a29a;cursor:pointer;transition:color .15s,background .15s}.places-page__icon-btn:hover{color:#1c1b1a;background:#f5f4f2}.places-page__icon-btn--danger:hover{color:#ef4444;background:#fef2f2}.planes-page__header{margin-bottom:24px}.planes-page__header h1{margin:0 0 4px;font-size:20px;font-weight:600;color:#1c1b1a}.planes-page__subtitle{margin:0;font-size:13px;color:#6b6862}.planes-page__loading,.planes-page__empty{padding:40px 0;text-align:center;color:#6b6862;font-size:14px}.planes-page__pill{padding:5px 10px;background:#0000000f;border-radius:12px;font-size:10px;color:#1c1b1a;margin-left:auto}.planes-page__device-list{display:flex;flex-direction:column;gap:8px}.planes-page__device{border:1px solid #E8E6E1;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.planes-page__device--expanded{border-color:#7078e0;box-shadow:0 2px 8px #7078e01a}.planes-page__device-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:16px}.planes-page__device-header:hover{background:#faf9f7}.planes-page__device-title{display:flex;align-items:center;gap:8px;min-width:0}.planes-page__expand-btn{display:flex;align-items:center;color:#a6a29a;flex-shrink:0}.planes-page__device-name{font-size:14px;font-weight:600;color:#1c1b1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planes-page__device-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.planes-page__assigned-count{font-size:11px;color:#a6a29a}.planes-page__device-body{border-top:1px solid #E8E6E1}.planes-page__tabs{display:flex;padding:0 16px;gap:2px;border-bottom:1px solid #E8E6E1;background:#faf9f7}.planes-page__tab{padding:10px 16px;font-size:13px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;color:#a6a29a;transition:color .15s,border-color .15s}.planes-page__tab--active{color:#1c1b1a}.planes-page__tab--active.planes-page__tab--basic{border-color:#22c55e}.planes-page__tab--active.planes-page__tab--standard{border-color:#7078e0}.planes-page__tab--active.planes-page__tab--premium{border-color:#a855f7}.planes-page__tab:hover:not(.planes-page__tab--active){color:#6b6862}.planes-page__channel-tabs{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid #E8E6E1;background:#faf9f7;overflow-x:auto}.planes-page__channel-tab{padding:8px 14px;font-size:12px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;color:#a6a29a;white-space:nowrap;transition:color .15s,border-color .15s}.planes-page__channel-tab--active{color:#1c1b1a;border-color:#7078e0}.planes-page__channel-tab:hover:not(.planes-page__channel-tab--active){color:#6b6862}.planes-page__regs-loading{padding:24px 16px;font-size:13px;color:#a6a29a}.planes-page__concept-table{padding:0;display:flex;flex-direction:column}.planes-page__plan-filters{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #E8E6E1;background:#faf9f7}.planes-page__plan-filter{display:inline-flex;align-items:center;padding:6px 16px;font-size:12px;font-weight:600;border-radius:20px;border:1px solid #E8E6E1;background:#fff;color:#6b6862;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.planes-page__plan-filter:hover{border-color:#a6a29a}.planes-page__plan-filter--active.planes-page__plan-filter--basic{background:#e8faf0;color:#14532d;border-color:#86efac}.planes-page__plan-filter--active.planes-page__plan-filter--standard{background:#e5e8fb;color:#3730a3;border-color:#a5b4fc}.planes-page__plan-filter--active.planes-page__plan-filter--premium{background:#f3e8ff;color:#6b21a8;border-color:#c084fc}.planes-page__category-section:not(:first-of-type){margin-top:8px}.planes-page__category-title{display:flex;align-items:center;gap:8px;margin:0;padding:10px 16px;font-size:14px;font-weight:600;color:#1c1b1a;background:#faf9f7;border-bottom:1px solid #E8E6E1}.planes-page__tier-select{appearance:none;padding:2px 20px 2px 8px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.03em;flex-shrink:0;border:1px solid transparent;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:border-color .15s}.planes-page__tier-select:hover{border-color:#00000026}.planes-page__tier-select:focus{outline:none;border-color:#7078e0}.planes-page__tier-select--basic{background-color:#e8faf0;color:#14532d}.planes-page__tier-select--standard{background-color:#e5e8fb;color:#3730a3}.planes-page__tier-select--premium{background-color:#f3e8ff;color:#6b21a8}.planes-page__concept-label-row{display:flex;align-items:center;gap:8px}.planes-page__group-count{background:#0000000f;border-radius:10px;padding:1px 7px;font-size:10px}.planes-page__reg-table{width:100%;border-collapse:collapse;font-size:13px}.planes-page__reg-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a6a29a;padding:8px 12px;border-bottom:1px solid #E8E6E1;background:#faf9f7}.planes-page__reg-table td{padding:6px 12px;border-bottom:1px solid #f0efed;vertical-align:middle;color:#1c1b1a}.planes-page__reg-table tr:last-child td{border-bottom:none}.planes-page__reg-table tr:hover td{background:#faf9f7}.planes-page__th-concept{width:20%}.planes-page__th-concept_small{width:10%}.planes-page__concept-label{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.3;color:#1c1b1a}.planes-page__concept-key{font-family:monospace;font-size:10px;color:#a6a29a}.planes-page__reg-input{width:120px;background:#fff;border:1px solid #E8E6E1;border-radius:6px;color:#1c1b1a;padding:5px 10px;font-size:13px;font-family:monospace;text-align:right;-moz-appearance:textfield}.planes-page__reg-input::-webkit-outer-spin-button,.planes-page__reg-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.planes-page__reg-input:focus{outline:none;border-color:#7078e0;box-shadow:0 0 0 2px #7078e026}.planes-page__reg-input::placeholder{color:#c4c1bc;font-family:inherit}.planes-page__badge{display:inline-block;padding:2px 8px;border-radius:10px;background:#eef0fb;color:#4a52b8;border:1px solid #D9DCEF;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.planes-page__badge__read{background:#e8faf0;color:#14532d;border-color:#c6f6d5}.planes-page__badge__can_be_calculated{background:#fef3c7;color:#92400e;border-color:#fde68a}.planes-page__actions{padding:12px 16px;border-top:1px solid #E8E6E1;display:flex;justify-content:flex-end;background:#faf9f7}.planes-page__save-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:#f15a29;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.planes-page__save-btn:disabled{opacity:.4;cursor:not-allowed}.planes-page__save-btn:hover:not(:disabled){background:#d94e21}.definitions-page__header{margin-bottom:24px}.definitions-page__header h1{margin:0 0 4px;font-size:20px;font-weight:600;color:#1c1b1a}.definitions-page__subtitle{margin:0;font-size:13px;color:#6b6862}.definitions-page__loading,.definitions-page__empty{padding:40px 0;text-align:center;color:#6b6862;font-size:14px}.definitions-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.definitions-page__card{display:flex;gap:14px;padding:16px;border:1px solid #E8E6E1;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.definitions-page__card:hover{border-color:#7078e0;box-shadow:0 2px 8px #7078e01a}.definitions-page__card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#eef0fc;color:#5a61c9;flex-shrink:0}.definitions-page__card-body{display:flex;flex-direction:column;gap:8px;min-width:0}.definitions-page__card-name{margin:0;font-size:14px;font-weight:600;color:#1c1b1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.definitions-page__card-stats{display:flex;flex-wrap:wrap;gap:12px}.definitions-page__stat{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b6862}.definition-detail__loading,.definition-detail__empty{padding:40px 0;text-align:center;color:#6b6862;font-size:14px}.definition-detail__back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6b6862;font-size:13px;cursor:pointer;padding:0;margin-bottom:16px}.definition-detail__back:hover{color:#1c1b1a}.definition-detail__hero{display:flex;gap:16px;align-items:center;margin-bottom:28px}.definition-detail__hero-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;background:#eef0fc;color:#5a61c9;flex-shrink:0}.definition-detail__hero-info h1{margin:0 0 6px;font-size:20px;font-weight:600;color:#1c1b1a}.definition-detail__hero-stats{display:flex;gap:16px}.definition-detail__stat{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b6862}.definition-detail__stat--editable{cursor:pointer;border-radius:6px;padding:2px 6px;margin:-2px -6px;transition:background .15s}.definition-detail__stat--editable:hover{background:#0000000a}.definition-detail__inline-input{width:48px;padding:2px 4px;border:1px solid #E8E6E1;border-radius:4px;font-size:12px;text-align:center;font-family:monospace}.definition-detail__inline-input:focus{outline:none;border-color:#7078e0}.definition-detail__inline-btn{display:flex;align-items:center;padding:2px;background:none;border:none;cursor:pointer;color:#6b6862;border-radius:4px}.definition-detail__inline-btn:hover{color:#1c1b1a;background:#0000000f}.definition-detail__section{margin-bottom:28px}.definition-detail__section h2{margin:0 0 12px;font-size:15px;font-weight:600;color:#1c1b1a}.definition-detail__section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.definition-detail__section-header h2{margin:0}.definition-detail__section-filters,.definition-detail__section-actions{display:flex;gap:8px;align-items:center}.definition-detail__checkbox{width:15px;height:15px;cursor:pointer;accent-color:#7078E0}.definition-detail__batch-delete-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:12px;font-weight:500;color:#dc2626;cursor:pointer;transition:background .15s,border-color .15s}.definition-detail__batch-delete-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.definition-detail__batch-delete-btn:disabled{opacity:.4;cursor:not-allowed}.definition-detail__filter-input{padding:6px 10px;border:1px solid #E8E6E1;border-radius:8px;font-size:12px;color:#1c1b1a;background:#fff;min-width:180px}.definition-detail__filter-input:focus{outline:none;border-color:#7078e0;box-shadow:0 0 0 2px #7078e01f}.definition-detail__filter-input::placeholder{color:#c4c1bc}.definition-detail__filter-btn{display:inline-flex;align-items:center;padding:6px 12px;background:#fff;border:1px solid #E8E6E1;border-radius:8px;font-size:12px;font-weight:500;color:#6b6862;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.definition-detail__filter-btn:hover{border-color:#7078e0;color:#1c1b1a}.definition-detail__filter-btn--active{background:#eef0fc;border-color:#7078e0;color:#5a61c9}.definition-detail__filter-select{padding:6px 10px;border:1px solid #E8E6E1;border-radius:8px;font-size:12px;color:#1c1b1a;background:#fff;cursor:pointer}.definition-detail__filter-select:focus{outline:none;border-color:#7078e0}.definition-detail__add-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#5a61c9;border:1px solid #4e55b3;border-radius:8px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s}.definition-detail__add-btn:hover{background:#4e55b3}.definition-detail__table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid #E8E6E1;border-radius:10px;overflow:visible}.definition-detail__table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a6a29a;padding:10px 12px;background:#faf9f7;border-bottom:1px solid #E8E6E1}.definition-detail__table th:first-child{border-radius:10px 0 0}.definition-detail__table th:last-child{border-radius:0 10px 0 0}.definition-detail__table td{padding:8px 12px;border-bottom:1px solid #f0efed;vertical-align:middle;color:#1c1b1a}.definition-detail__table tr:last-child td{border-bottom:none}.definition-detail__table tr:last-child td:first-child{border-radius:0 0 0 10px}.definition-detail__table tr:last-child td:last-child{border-radius:0 0 10px}.definition-detail__table tr:hover td{background:#faf9f7}.definition-detail__edit-row td{background:#fffbf5!important}.definition-detail__empty-cell{text-align:center;color:#a6a29a;padding:24px 12px!important}.definition-detail__reg-addr{font-family:monospace;font-weight:600;color:#5a61c9!important}.definition-detail__reg-addr-sm{font-family:monospace;font-size:11px;color:#a6a29a}.definition-detail__mono{font-family:monospace;font-size:12px}.definition-detail__preset-list{display:flex;flex-wrap:wrap;gap:4px}.definition-detail__preset-badge{display:inline-block;padding:2px 8px;border-radius:8px;background:#e8faf0;color:#14532d;font-size:11px;font-weight:500;font-family:monospace}.definition-detail__var-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border-radius:8px;background:#e8faf0;color:#14532d;font-size:11px;font-weight:500;font-family:monospace}.definition-detail__var-chip--ch-1{background:#e8faf0;color:#14532d}.definition-detail__var-chip--ch-2{background:#dbeafe;color:#1e3a5f}.definition-detail__var-chip--ch-3{background:#fce7f3;color:#831843}.definition-detail__var-chip--ch-4{background:#fef3c7;color:#78350f}.definition-detail__var-chip--ch-5{background:#ede9fe;color:#4c1d95}.definition-detail__var-chip--ch-6{background:#ffedd5;color:#7c2d12}.definition-detail__var-chip--ch-7{background:#ccfbf1;color:#134e4a}.definition-detail__var-chip--ch-8{background:#fae8ff;color:#701a75}.definition-detail__var-chip--ch-9{background:#e0f2fe;color:#0c4a6e}.definition-detail__var-chip--ch-10{background:#fef9c3;color:#713f12}.definition-detail__var-chip--ch-11{background:#f1f5f9;color:#334155}.definition-detail__var-chip--ch-12{background:#fee2e2;color:#991b1b}.definition-detail__var-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:none;border:none;border-radius:50%;cursor:pointer;color:#14532d;opacity:.5;transition:opacity .15s,background .15s}.definition-detail__var-chip-remove:hover{opacity:1;background:#00000014}.definition-detail__separator-row td{background:#faf9f7!important}.definition-detail__separator-cell{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a6a29a;padding:8px 12px!important}.definition-detail__unlinked-row td{background:#fffbf5!important}.definition-detail__unlinked{font-size:12px;color:#a6a29a}.definition-detail__cell-input{width:100%;padding:4px 8px;border:1px solid #E8E6E1;border-radius:6px;font-size:12px;color:#1c1b1a;background:#fff}.definition-detail__cell-input:focus{outline:none;border-color:#7078e0;box-shadow:0 0 0 2px #7078e01f}.definition-detail__cell-input::placeholder{color:#c4c1bc}.definition-detail__cell-input--num{width:70px;font-family:monospace;text-align:right}.definition-detail__cell-input--sm{width:80px}.definition-detail__cell-input--error{border-color:#dc2626}.definition-detail__cell-input--error:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc26261f}.definition-detail__field-error{display:block;font-size:10px;color:#dc2626;margin-top:2px}.definition-detail__actions-cell{display:flex;gap:4px;align-items:center;justify-content:flex-end}.definition-detail__icon-btn{display:flex;align-items:center;justify-content:center;width:auto;height:28px;padding:5px;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;color:#a6a29a;transition:color .15s,background .15s,border-color .15s;gap:10px}.definition-detail__icon-btn:hover{color:#1c1b1a;background:#f0efed;border-color:#e8e6e1}.definition-detail__icon-btn--danger:hover,.definition-detail__icon-btn--cancel:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.definition-detail__icon-btn--cancel{color:#dc2626a2;background:#fef2f283;border-color:#fecaca51}.definition-detail__icon-btn--save{color:#15803d}.definition-detail__icon-btn--save:hover{background:#f0fdf4;border-color:#bbf7d0}.definition-detail__icon-btn:disabled{opacity:.4;cursor:not-allowed}.definition-detail__var-add{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.definition-detail__var-select{padding:4px 8px;border:1px solid #E8E6E1;border-radius:6px;font-size:12px;color:#1c1b1a;background:#fff;min-width:120px}.definition-detail__var-select:focus{outline:none;border-color:#7078e0}.definition-detail__var-select:disabled{opacity:.5}.definition-detail__autocomplete{position:relative;min-width:160px}.definition-detail__autocomplete-list{position:absolute;top:100%;left:0;right:0;z-index:20;margin:2px 0 0;padding:4px 0;list-style:none;background:#fff;border:1px solid #E8E6E1;border-radius:8px;box-shadow:0 4px 12px #00000014;max-height:200px;overflow-y:auto}.definition-detail__autocomplete-item{display:flex;flex-direction:column;gap:1px;padding:6px 10px;cursor:pointer;transition:background .1s}.definition-detail__autocomplete-item:hover{background:#eef0fc}.definition-detail__autocomplete-label{font-size:12px;font-weight:500;color:#1c1b1a}.definition-detail__autocomplete-key{font-size:10px;font-family:monospace;color:#a6a29a}@font-face{font-family:Sofia Pro;src:url(/assets/sofia-5byQHAu6.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sofia Pro;src:url(/assets/sofia-ligth-B6G9MnKP.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Sofia Pro;src:url(/assets/sofia-bold-D5umz7YM.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden!important}body{font-family:Sofia Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.main-layout__toast-container>div{position:relative!important;transform:none!important}.main-layout__toast-container>div>div{position:relative!important;transform:none!important}div[role=status]{display:flex!important;justify-content:flex-start!important;align-items:center!important;text-align:left!important;position:relative!important;transform:none!important}
