.app-input[data-v-70b58048]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;margin-bottom:.85rem}.app-input--no-margin[data-v-70b58048]{margin-bottom:0}.app-input__label[data-v-70b58048]{display:block;margin-bottom:.3rem;font-size:.78rem;font-weight:600;color:#4f5560}.app-input__required[data-v-70b58048]{margin-left:.2rem;color:#dc2626;font-weight:700}.app-input__field[data-v-70b58048]{width:100%;height:36px;padding:.3rem .6rem;border:1px solid #d8dde6;border-radius:8px;background:#fff;font-size:.85rem;color:#2f3640;font-family:inherit;-webkit-transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.app-input__field[data-v-70b58048]::-webkit-input-placeholder{color:#9ca3af}.app-input__field[data-v-70b58048]::-moz-placeholder{color:#9ca3af}.app-input__field[data-v-70b58048]:-ms-input-placeholder{color:#9ca3af}.app-input__field[data-v-70b58048]::-ms-input-placeholder{color:#9ca3af}.app-input__field[data-v-70b58048]::placeholder{color:#9ca3af}.app-input__field[data-v-70b58048]:focus{outline:none;border-color:#16a07a;-webkit-box-shadow:0 0 0 3px rgba(22,160,122,.18);box-shadow:0 0 0 3px rgba(22,160,122,.18)}.app-input__field[data-v-70b58048]:disabled,.app-input__field[readonly][data-v-70b58048]{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.app-input__field--textarea[data-v-70b58048]{height:auto;min-height:64px;resize:vertical;line-height:1.4}.app-dropdown[data-v-074a5b2e]{position:relative;width:100%}.app-dropdown__trigger[data-v-074a5b2e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:.5rem;width:100%;height:36px;padding:.3rem .6rem;border:1px solid #d8dde6;border-radius:8px;background:#fff;font-size:.85rem;color:#2f3640;text-align:left;cursor:pointer;-webkit-transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.app-dropdown__trigger[data-v-074a5b2e]:hover:not(:disabled){border-color:#b9c2d0}.app-dropdown--open .app-dropdown__trigger[data-v-074a5b2e],.app-dropdown__trigger[data-v-074a5b2e]:focus{outline:none;border-color:#16a07a;-webkit-box-shadow:0 0 0 3px rgba(22,160,122,.18);box-shadow:0 0 0 3px rgba(22,160,122,.18)}.app-dropdown--disabled .app-dropdown__trigger[data-v-074a5b2e]{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.app-dropdown__value[data-v-074a5b2e]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-dropdown__value--placeholder[data-v-074a5b2e]{color:#9ca3af}.app-dropdown__caret[data-v-074a5b2e]{color:#6b7280;font-size:.75rem;line-height:1}.app-dropdown__panel[data-v-074a5b2e]{position:fixed;z-index:1080;background:#fff;border:1px solid #e5e9f2;border-radius:8px;-webkit-box-shadow:0 8px 24px rgba(15,23,42,.12);box-shadow:0 8px 24px rgba(15,23,42,.12);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.app-dropdown__panel--up[data-v-074a5b2e]{-webkit-box-shadow:0 -8px 24px rgba(15,23,42,.12);box-shadow:0 -8px 24px rgba(15,23,42,.12)}.app-dropdown__search[data-v-074a5b2e]{padding:.4rem;border-bottom:1px solid #eef1f7;background:#fbfcfe}.app-dropdown__search-input[data-v-074a5b2e]{width:100%;padding:.3rem .55rem;border:1px solid #d8dde6;border-radius:6px;font-size:.82rem;outline:none}.app-dropdown__search-input[data-v-074a5b2e]:focus{border-color:#16a07a;-webkit-box-shadow:0 0 0 2px rgba(22,160,122,.15);box-shadow:0 0 0 2px rgba(22,160,122,.15)}.app-dropdown__list[data-v-074a5b2e]{list-style:none;margin:0;padding:.25rem 0;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0;overflow-y:auto}.app-dropdown__option[data-v-074a5b2e]{padding:.45rem .75rem;font-size:.85rem;color:#1f2a44;cursor:pointer}.app-dropdown__option.is-active[data-v-074a5b2e]{background:#eef6f3}.app-dropdown__option.is-selected[data-v-074a5b2e]{background:#16a07a;color:#fff}.app-dropdown__option.is-selected.is-active[data-v-074a5b2e]{background:#138a69}.app-dropdown__empty[data-v-074a5b2e]{padding:.6rem .75rem;font-size:.82rem;color:#6b7280;text-align:center}.dv-page[data-v-40e865b2]{padding:.25rem 0}.dv-toolbar[data-v-40e865b2]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.75rem;padding:.25rem .25rem 1rem}.dv-toolbar[data-v-40e865b2],.dv-toolbar__title[data-v-40e865b2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.dv-toolbar__title[data-v-40e865b2]{gap:.65rem}.dv-toolbar__accent[data-v-40e865b2]{width:4px;height:36px;border-radius:4px;background:-webkit-gradient(linear,left top,left bottom,from(#0e5b46),to(#16a07a));background:linear-gradient(180deg,#0e5b46,#16a07a)}.dv-toolbar__title h1[data-v-40e865b2]{margin:0;font-size:1.15rem;font-weight:700;color:#1f2a44;letter-spacing:-.01em}.dv-toolbar__title p[data-v-40e865b2]{margin:.12rem 0 0;font-size:.78rem;color:#6b7280;max-width:640px}.dv-refresh[data-v-40e865b2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.45rem;height:34px;padding:0 .85rem;border-radius:8px;font-size:.82rem;font-weight:600;background:#fff;border:1px solid #e5e9f2;color:#1f2a44;-webkit-box-shadow:0 1px 2px rgba(15,23,42,.04);box-shadow:0 1px 2px rgba(15,23,42,.04);cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.dv-refresh[data-v-40e865b2]:hover:not(:disabled){border-color:#16a07a;color:#0e5b46;background:#f5fbf8}.dv-refresh[data-v-40e865b2]:disabled{cursor:progress;background:#f8fafc}.dv-refresh__icon[data-v-40e865b2]{color:#16a07a;-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease}.dv-refresh:hover:not(:disabled) .dv-refresh__icon[data-v-40e865b2]{-webkit-transform:rotate(60deg);transform:rotate(60deg)}.dv-refresh.is-loading .dv-refresh__icon[data-v-40e865b2]{-webkit-animation:dv-spin-data-v-40e865b2 .9s linear infinite;animation:dv-spin-data-v-40e865b2 .9s linear infinite}@-webkit-keyframes dv-spin-data-v-40e865b2{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes dv-spin-data-v-40e865b2{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.dv-refresh[data-v-40e865b2]:focus{outline:none}.dv-refresh[data-v-40e865b2]:focus-visible{outline:none;-webkit-box-shadow:0 0 0 3px rgba(22,160,122,.22);box-shadow:0 0 0 3px rgba(22,160,122,.22)}.dv-alert[data-v-40e865b2]{margin:0 0 1rem;border-radius:10px;font-size:.85rem}.dv-name[data-v-40e865b2]{font-weight:600;color:#1f2a44}.dv-muted[data-v-40e865b2]{color:#9ca3af}.dv-pill[data-v-40e865b2]{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.dv-pill--essl[data-v-40e865b2]{background:#e0f2fe;color:#075985}.dv-pill--hikvision[data-v-40e865b2]{background:#fee2e2;color:#991b1b}.dv-pill--other[data-v-40e865b2]{background:#f3f4f6;color:#6b7280}.dv-status[data-v-40e865b2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:#4b5563}.dv-dot[data-v-40e865b2]{width:8px;height:8px;border-radius:50%}.dv-dot--on[data-v-40e865b2]{background:#16a34a;-webkit-box-shadow:0 0 0 3px rgba(22,163,74,.18);box-shadow:0 0 0 3px rgba(22,163,74,.18)}.dv-dot--off[data-v-40e865b2]{background:#cbd5e1}.dv-row-actions[data-v-40e865b2]{gap:.4rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.dv-action-btn[data-v-40e865b2],.dv-row-actions[data-v-40e865b2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.dv-action-btn[data-v-40e865b2]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.3rem;height:28px;padding:0 .7rem;border-radius:6px;border:1px solid #e5e9f2;background:#fff;color:#475569;font-size:.76rem;font-weight:600;cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.dv-action-btn--edit[data-v-40e865b2]:hover{border-color:#16a07a;color:#0e5b46;background:#f5fbf8}.dv-action-btn[data-v-40e865b2]:focus{outline:none}.dv-action-btn[data-v-40e865b2]:focus-visible{outline:none;-webkit-box-shadow:0 0 0 3px rgba(22,160,122,.22);box-shadow:0 0 0 3px rgba(22,160,122,.22)}.dv-modal[data-v-40e865b2] .modal-content{border-radius:14px;border:1px solid #e5e9f2;-webkit-box-shadow:0 16px 40px rgba(15,23,42,.22);box-shadow:0 16px 40px rgba(15,23,42,.22);overflow:hidden}.dv-modal__body[data-v-40e865b2]{padding:.25rem}.dv-modal__alert[data-v-40e865b2]{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:.55rem .8rem;font-size:.82rem;margin-bottom:.85rem}.dv-grid[data-v-40e865b2]{gap:.85rem}.dv-field[data-v-40e865b2],.dv-grid[data-v-40e865b2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dv-label[data-v-40e865b2]{font-size:.78rem;font-weight:600;color:#4f5560;margin-bottom:.3rem}.dv-readonly[data-v-40e865b2]{gap:.35rem;background:#fbfcfe;border:1px solid #eef1f7;border-radius:8px;padding:.6rem .8rem}.dv-readonly__row[data-v-40e865b2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:.82rem;color:#6b7280}.dv-readonly__row strong[data-v-40e865b2]{color:#1f2a44}.dv-btn[data-v-40e865b2]{height:34px;min-width:90px;padding:.45rem 1.1rem;border-radius:8px;font-size:.85rem;font-weight:600;border:1px solid transparent;cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.dv-btn--primary[data-v-40e865b2]{background:linear-gradient(135deg,#0e5b46,#16a07a);color:#fff;-webkit-box-shadow:0 2px 6px rgba(14,91,70,.18);box-shadow:0 2px 6px rgba(14,91,70,.18)}.dv-btn--primary[data-v-40e865b2]:hover:not(:disabled){-webkit-transform:translateY(-1px);transform:translateY(-1px)}.dv-btn--ghost[data-v-40e865b2]{background:#fff;border-color:#e5e9f2;color:#1f2a44}.dv-btn--ghost[data-v-40e865b2]:hover:not(:disabled){background:#f8fafc}.dv-btn[data-v-40e865b2]:disabled{opacity:.6;cursor:default;-webkit-transform:none;transform:none}.dv-btn[data-v-40e865b2]:focus{outline:none}.dv-btn[data-v-40e865b2]:focus-visible{outline:none;-webkit-box-shadow:0 0 0 3px rgba(22,160,122,.22);box-shadow:0 0 0 3px rgba(22,160,122,.22)}