.app-header[data-v-6abaafc0]{height:48px;background:#3c3f41;border-bottom:1px solid #4b4f52;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0}.header-left[data-v-6abaafc0]{display:flex;align-items:center;gap:12px}.hamburger[data-v-6abaafc0]{background:none;border:none;color:#a9b7c6;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;transition:background .15s}.hamburger[data-v-6abaafc0]:hover{background:#4b4f52}.app-title[data-v-6abaafc0]{color:#4a9eff;font-size:15px;font-weight:700;letter-spacing:-.02em}.header-right[data-v-6abaafc0]{display:flex;align-items:center;gap:14px}.user-name[data-v-6abaafc0]{font-size:12px;color:#6a6a6a}.logout-btn[data-v-6abaafc0]{background:none;border:1px solid #4b4f52;color:#a9b7c6;font-size:12px;padding:4px 10px;border-radius:3px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.logout-btn[data-v-6abaafc0]:hover{background:#4b4f52;border-color:#5a5f63}.app-sidebar[data-v-4122e706]{background:#3c3f41;border-right:1px solid #4b4f52;display:flex;flex-direction:column;flex-shrink:0;position:relative;overflow:hidden;transition:width .2s ease}.sidebar-nav[data-v-4122e706]{flex:1;padding:8px 0;overflow-y:auto;overflow-x:hidden}.nav-item[data-v-4122e706]{display:flex;align-items:center;gap:10px;padding:9px 16px;color:#a9b7c6;text-decoration:none;font-size:13px;white-space:nowrap;transition:background .15s;width:100%}.nav-item[data-v-4122e706]:hover{background:#4b4f52}.nav-item.router-link-active[data-v-4122e706]{background:#1e6aa6;color:#fff}.nav-icon[data-v-4122e706]{display:flex;align-items:center;flex-shrink:0}.nav-label[data-v-4122e706]{flex:1;overflow:hidden;text-overflow:ellipsis}.resize-handle[data-v-4122e706]{position:absolute;top:0;right:0;width:4px;height:100%;background:transparent;transition:background .15s}.resize-handle[data-v-4122e706]:hover{background:#4a9eff}.toast[data-v-426e22ef]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:4px;font-size:13px;z-index:9999;min-width:280px;max-width:560px;box-shadow:0 4px 12px #0006}.toast--error[data-v-426e22ef]{background:#3b1f1f;border:1px solid #ff6b68;color:#ff6b68}.toast--success[data-v-426e22ef]{background:#1f3b24;border:1px solid #6a8759;color:#6a8759}.toast--info[data-v-426e22ef]{background:#1f2e3b;border:1px solid #4a9eff;color:#4a9eff}.toast-message[data-v-426e22ef]{flex:1}.toast-close[data-v-426e22ef]{background:none;border:none;color:inherit;cursor:pointer;padding:2px;display:flex;align-items:center;opacity:.7;flex-shrink:0}.toast-close[data-v-426e22ef]:hover{opacity:1}.toast-enter-active[data-v-426e22ef],.toast-leave-active[data-v-426e22ef]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-426e22ef],.toast-leave-to[data-v-426e22ef]{opacity:0;transform:translate(-50%) translateY(8px)}:root{--color-bg: #2b2b2b;--color-panel: #3c3f41;--color-border: #4b4f52;--color-text: #a9b7c6;--color-text-muted: #6a6a6a;--color-text-label: #6a8759;--color-accent: #4a9eff;--color-accent-hover: #1e6aa6;--color-error: #ff6b68}html,body{height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;background:var(--color-bg);color:var(--color-text)}*{scrollbar-width:thin;scrollbar-color:var(--color-text-muted) var(--color-panel);box-sizing:border-box}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--color-panel)}*::-webkit-scrollbar-thumb{background-color:var(--color-text-muted);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:#8a8a8a}button.icon-btn:disabled{opacity:.35!important;cursor:not-allowed}button.icon-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-border);border-color:var(--color-border)}button.btn:disabled{opacity:.6!important;cursor:not-allowed;background:var(--color-border)!important;color:var(--color-text-muted)!important}#app{height:100vh}.app-layout[data-v-43ddcd16]{display:flex;flex-direction:column;height:100vh;background:#2b2b2b;color:#a9b7c6}.app-body[data-v-43ddcd16]{display:flex;flex:1;overflow:hidden}.app-content[data-v-43ddcd16]{flex:1;overflow-y:auto;background:#2b2b2b}.data-table[data-v-eb9b8b2a]{display:flex;flex-direction:column;height:100%;min-height:0}.dt-toolbar[data-v-eb9b8b2a]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px;background:#3c3f41;flex-shrink:0}.dt-title[data-v-eb9b8b2a]{font-size:15px;font-weight:600;color:#4a9eff;margin:0;white-space:nowrap}.dt-toolbar-left[data-v-eb9b8b2a],.dt-toolbar-right[data-v-eb9b8b2a]{display:flex;align-items:center;gap:8px}.dt-search[data-v-eb9b8b2a]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:6px 10px;border-radius:3px;width:220px;outline:none;transition:border-color .15s;font-family:inherit}.dt-search[data-v-eb9b8b2a]:focus{border-color:#4a9eff}.dt-search[data-v-eb9b8b2a]::placeholder{color:#6a6a6a}.dt-head-wrap[data-v-eb9b8b2a]{flex-shrink:0;overflow:hidden;scrollbar-gutter:stable}.dt-scroll[data-v-eb9b8b2a]{overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;scrollbar-gutter:stable}.dt-table[data-v-eb9b8b2a]{width:100%;border-collapse:collapse;font-size:13px;color:#a9b7c6}.dt-table--head[data-v-eb9b8b2a],.dt-table--fixed[data-v-eb9b8b2a]{table-layout:fixed}.dt-table thead tr[data-v-eb9b8b2a]{background:#383b3d;border-bottom:1px solid #4b4f52}.dt-th[data-v-eb9b8b2a]{position:relative;padding:9px 18px 9px 14px;text-align:left;font-size:12px;font-weight:600;color:#a9b7c6;overflow:hidden;white-space:nowrap}.dt-th--sortable[data-v-eb9b8b2a]{cursor:pointer;-webkit-user-select:none;user-select:none}.dt-th--sortable[data-v-eb9b8b2a]:hover{background:#42474a;color:#c9d7e6}.dt-th--active[data-v-eb9b8b2a]{color:#4a9eff}.dt-th-inner[data-v-eb9b8b2a]{display:inline-flex;align-items:center;gap:6px;overflow:hidden;max-width:100%}.dt-sort-icon[data-v-eb9b8b2a]{display:inline-flex;align-items:center;flex-shrink:0;color:inherit}.dt-resize-handle[data-v-eb9b8b2a]{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:1;background:linear-gradient(to right,transparent 2px,#4b4f52 2px,#4b4f52 3px,transparent 3px);opacity:0;transition:opacity .15s}.dt-th:hover .dt-resize-handle[data-v-eb9b8b2a],.dt-resize-handle--active[data-v-eb9b8b2a]{opacity:1}.dt-resize-handle--active[data-v-eb9b8b2a]{background:linear-gradient(to right,transparent 2px,#4a9eff 2px,#4a9eff 3px,transparent 3px)}.dt-table td[data-v-eb9b8b2a]{padding:8px 14px;font-size:12px;border-bottom:1px solid #383b3d;vertical-align:middle}.dt-table--fixed .dt-td[data-v-eb9b8b2a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-row[data-v-eb9b8b2a]{cursor:default}.dt-table tbody tr[data-v-eb9b8b2a]:hover{background:#3c3f41}.dt-actions-head[data-v-eb9b8b2a],.dt-actions-cell[data-v-eb9b8b2a]{width:1px;white-space:nowrap}.dt-empty[data-v-eb9b8b2a]{padding:24px 14px;text-align:center;color:#6a6a6a;font-style:italic}.side-panel-backdrop[data-v-92522268]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;justify-content:flex-end}.side-panel[data-v-92522268]{width:400px;max-width:100%;height:100%;background:#3c3f41;border-left:1px solid #4b4f52;display:flex;flex-direction:column;overflow:hidden}.side-panel-header[data-v-92522268]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid #4b4f52;background:#383b3d;flex-shrink:0}.side-panel-title[data-v-92522268]{font-size:12px;font-weight:600;color:#a9b7c6}.side-panel-close[data-v-92522268]{background:none;border:none;color:#6a6a6a;cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:3px;transition:color .15s,background .15s}.side-panel-close[data-v-92522268]:hover{color:#a9b7c6;background:#4b4f52}.side-panel-body[data-v-92522268]{flex:1;overflow-y:auto;padding:20px}.side-panel-enter-active[data-v-92522268],.side-panel-leave-active[data-v-92522268]{transition:opacity .2s ease}.side-panel-enter-active .side-panel[data-v-92522268],.side-panel-leave-active .side-panel[data-v-92522268]{transition:transform .2s ease}.side-panel-enter-from[data-v-92522268],.side-panel-leave-to[data-v-92522268]{opacity:0}.side-panel-enter-from .side-panel[data-v-92522268],.side-panel-leave-to .side-panel[data-v-92522268]{transform:translate(100%)}.dialog-backdrop[data-v-ece96515]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;display:flex;align-items:center;justify-content:center}.dialog[data-v-ece96515]{background:#3c3f41;border:1px solid #4b4f52;border-radius:6px;width:360px;max-width:calc(100vw - 32px);overflow:hidden;box-shadow:0 8px 32px #0006}.dialog-header[data-v-ece96515]{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #4b4f52;background:#383b3d}.dialog-icon[data-v-ece96515]{flex-shrink:0}.dialog-title[data-v-ece96515]{font-size:14px;font-weight:600;color:#a9b7c6}.dialog-body[data-v-ece96515]{padding:20px}.dialog-message[data-v-ece96515]{color:#a9b7c6;font-size:13px;margin:0;line-height:1.5}.dialog-footer[data-v-ece96515]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #4b4f52;background:#383b3d}.btn[data-v-ece96515]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.btn-ghost[data-v-ece96515]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-ece96515]:hover{background:#4b4f52}.btn-danger[data-v-ece96515]{background:#c0392b;color:#fff}.btn-danger[data-v-ece96515]:hover{background:#e74c3c}.dialog-enter-active[data-v-ece96515],.dialog-leave-active[data-v-ece96515]{transition:opacity .15s ease}.dialog-enter-active .dialog[data-v-ece96515],.dialog-leave-active .dialog[data-v-ece96515]{transition:transform .15s ease}.dialog-enter-from[data-v-ece96515],.dialog-leave-to[data-v-ece96515]{opacity:0}.dialog-enter-from .dialog[data-v-ece96515],.dialog-leave-to .dialog[data-v-ece96515]{transform:scale(.95)}.page[data-v-22818496]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-22818496]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-22818496]{flex:1;min-height:0}.loading-state[data-v-22818496]{display:flex;align-items:center;justify-content:center;flex:1;color:#6a6a6a;font-style:italic}.row-actions[data-v-22818496]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-22818496]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-22818496]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-22818496]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.status-dot[data-v-22818496]{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status-dot[data-v-22818496]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot--on[data-v-22818496]{color:#6a8759}.status-dot--on[data-v-22818496]:before{background:#6a8759}.status-dot--off[data-v-22818496]{color:#6a6a6a}.status-dot--off[data-v-22818496]:before{background:#6a6a6a}.entity-form[data-v-22818496]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-22818496]{display:flex;flex-direction:column;gap:6px}.form-group--inline[data-v-22818496]{flex-direction:row;align-items:center}.form-label[data-v-22818496]{font-size:12px;color:#6a8759;font-weight:600}.form-label--checkbox[data-v-22818496]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#a9b7c6;font-weight:400}.form-input[data-v-22818496]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-22818496]:focus{border-color:#4a9eff}.form-checkbox[data-v-22818496]{width:14px;height:14px;accent-color:#4a9eff;cursor:pointer}.form-error[data-v-22818496]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-22818496]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-22818496]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-22818496]{background:#1e6aa6;color:#fff}.btn-primary[data-v-22818496]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-22818496]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-22818496]:hover{background:#4b4f52}.page[data-v-02f250dd]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-02f250dd]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-02f250dd]{flex:1;min-height:0}.row-actions[data-v-02f250dd]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-02f250dd]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-02f250dd]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-02f250dd]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.status-dot[data-v-02f250dd]{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status-dot[data-v-02f250dd]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot--on[data-v-02f250dd]{color:#6a8759}.status-dot--on[data-v-02f250dd]:before{background:#6a8759}.status-dot--off[data-v-02f250dd]{color:#6a6a6a}.status-dot--off[data-v-02f250dd]:before{background:#6a6a6a}.entity-form[data-v-02f250dd]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-02f250dd]{display:flex;flex-direction:column;gap:6px}.form-group--inline[data-v-02f250dd]{flex-direction:row;align-items:center}.form-label[data-v-02f250dd]{font-size:12px;color:#6a8759;font-weight:600}.form-label--checkbox[data-v-02f250dd]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#a9b7c6}.form-input[data-v-02f250dd]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-02f250dd]:focus{border-color:#4a9eff}.form-checkbox[data-v-02f250dd]{width:14px;height:14px;accent-color:#4a9eff;cursor:pointer}.form-error[data-v-02f250dd]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-02f250dd]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-02f250dd]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-02f250dd]{background:#1e6aa6;color:#fff}.btn-primary[data-v-02f250dd]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-02f250dd]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-02f250dd]:hover{background:#4b4f52}.ss-wrapper[data-v-a1ef2359]{position:relative;width:100%}.ss-trigger[data-v-a1ef2359]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s;min-height:34px}.ss-trigger[data-v-a1ef2359]:hover,.ss-trigger--open[data-v-a1ef2359]{border-color:#4a9eff}.ss-value[data-v-a1ef2359]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-placeholder[data-v-a1ef2359]{color:#6a6a6a}.ss-chevron[data-v-a1ef2359]{flex-shrink:0;opacity:.6;transition:transform .15s ease}.ss-chevron--open[data-v-a1ef2359]{transform:rotate(180deg)}.ss-dropdown[data-v-a1ef2359]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#2b2b2b;border:1px solid #4a9eff;border-radius:3px;z-index:100;box-shadow:0 4px 16px #0006}.ss-search-wrap[data-v-a1ef2359]{padding:6px 8px;border-bottom:1px solid #383b3d}.ss-search[data-v-a1ef2359]{width:100%;background:#333639;border:1px solid #4b4f52;color:#a9b7c6;font-size:12px;padding:5px 8px;border-radius:3px;outline:none;font-family:inherit;box-sizing:border-box;transition:border-color .15s}.ss-search[data-v-a1ef2359]:focus{border-color:#4a9eff}.ss-search[data-v-a1ef2359]::placeholder{color:#6a6a6a}.ss-list[data-v-a1ef2359]{list-style:none;margin:0;padding:4px 0;max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4b4f52 transparent}.ss-list[data-v-a1ef2359]::-webkit-scrollbar{width:6px}.ss-list[data-v-a1ef2359]::-webkit-scrollbar-track{background:transparent}.ss-list[data-v-a1ef2359]::-webkit-scrollbar-thumb{background:#4b4f52;border-radius:3px}.ss-item[data-v-a1ef2359]{display:flex;align-items:center;padding:6px 10px;cursor:pointer;font-size:13px;color:#a9b7c6;transition:background .1s}.ss-item[data-v-a1ef2359]:hover{background:#3c3f41}.ss-item--active[data-v-a1ef2359]{background:#1e3a54;color:#4a9eff}.ss-item--active[data-v-a1ef2359]:hover{background:#1e4570}.ss-empty[data-v-a1ef2359]{padding:10px;text-align:center;color:#6a6a6a;font-size:12px;font-style:italic}.page[data-v-2ecf03be]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-2ecf03be]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-2ecf03be]{flex:1;min-height:0}.row-actions[data-v-2ecf03be]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-2ecf03be]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-2ecf03be]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-2ecf03be]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.status-dot[data-v-2ecf03be]{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status-dot[data-v-2ecf03be]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot--on[data-v-2ecf03be]{color:#6a8759}.status-dot--on[data-v-2ecf03be]:before{background:#6a8759}.status-dot--off[data-v-2ecf03be]{color:#6a6a6a}.status-dot--off[data-v-2ecf03be]:before{background:#6a6a6a}.entity-form[data-v-2ecf03be]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-2ecf03be]{display:flex;flex-direction:column;gap:6px}.form-group--inline[data-v-2ecf03be]{flex-direction:row;align-items:center}.form-label[data-v-2ecf03be]{font-size:12px;color:#6a8759;font-weight:600}.form-label--checkbox[data-v-2ecf03be]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#a9b7c6}.form-input[data-v-2ecf03be]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-2ecf03be]:focus{border-color:#4a9eff}.form-checkbox[data-v-2ecf03be]{width:14px;height:14px;accent-color:#4a9eff;cursor:pointer}.form-error[data-v-2ecf03be]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-2ecf03be]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-2ecf03be]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-2ecf03be]{background:#1e6aa6;color:#fff}.btn-primary[data-v-2ecf03be]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-2ecf03be]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-2ecf03be]:hover{background:#4b4f52}.page[data-v-ff6195a5]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-ff6195a5]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-ff6195a5]{flex:1;min-height:0}.row-actions[data-v-ff6195a5]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-ff6195a5]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-ff6195a5]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-ff6195a5]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.status-dot[data-v-ff6195a5]{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status-dot[data-v-ff6195a5]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot--on[data-v-ff6195a5]{color:#6a8759}.status-dot--on[data-v-ff6195a5]:before{background:#6a8759}.status-dot--off[data-v-ff6195a5]{color:#6a6a6a}.status-dot--off[data-v-ff6195a5]:before{background:#6a6a6a}.entity-form[data-v-ff6195a5]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-ff6195a5]{display:flex;flex-direction:column;gap:6px}.form-group--inline[data-v-ff6195a5]{flex-direction:row;align-items:center}.form-label[data-v-ff6195a5]{font-size:12px;color:#6a8759;font-weight:600}.form-label--checkbox[data-v-ff6195a5]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#a9b7c6}.form-input[data-v-ff6195a5]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-ff6195a5]:focus{border-color:#4a9eff}.form-checkbox[data-v-ff6195a5]{width:14px;height:14px;accent-color:#4a9eff;cursor:pointer}.form-error[data-v-ff6195a5]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-ff6195a5]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-ff6195a5]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-ff6195a5]{background:#1e6aa6;color:#fff}.btn-primary[data-v-ff6195a5]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-ff6195a5]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-ff6195a5]:hover{background:#4b4f52}.page[data-v-83e80d80]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-83e80d80]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-83e80d80]{flex:1;min-height:0}.loading-state[data-v-83e80d80]{display:flex;align-items:center;justify-content:center;flex:1;color:#6a6a6a;font-style:italic}.row-actions[data-v-83e80d80]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-83e80d80]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-83e80d80]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-83e80d80]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.role-badge[data-v-83e80d80]{font-size:11px;padding:2px 7px;border-radius:10px;font-weight:600;letter-spacing:.02em}.role-badge--admin[data-v-83e80d80]{background:#4a9eff26;color:#4a9eff}.role-badge--app_client[data-v-83e80d80]{background:#6a875933;color:#6a8759}.role-badge--member[data-v-83e80d80]{background:#a9b7c61a;color:#a9b7c6}.entity-form[data-v-83e80d80]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-83e80d80]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-83e80d80]{font-size:12px;color:#6a8759;font-weight:600}.form-input[data-v-83e80d80]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-83e80d80]:focus{border-color:#4a9eff}select.form-input option[data-v-83e80d80]{background:#2b2b2b}.form-error[data-v-83e80d80]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-83e80d80]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-83e80d80]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-83e80d80]{background:#1e6aa6;color:#fff}.btn-primary[data-v-83e80d80]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-83e80d80]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-83e80d80]:hover{background:#4b4f52}.page[data-v-5b22358e]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-5b22358e]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-5b22358e]{flex:1;min-height:0}.row-actions[data-v-5b22358e]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-5b22358e]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-5b22358e]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-5b22358e]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.status-dot[data-v-5b22358e]{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status-dot[data-v-5b22358e]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot--on[data-v-5b22358e]{color:#6a8759}.status-dot--on[data-v-5b22358e]:before{background:#6a8759}.status-dot--off[data-v-5b22358e]{color:#6a6a6a}.status-dot--off[data-v-5b22358e]:before{background:#6a6a6a}.entity-form[data-v-5b22358e]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-5b22358e]{display:flex;flex-direction:column;gap:6px}.form-group--inline[data-v-5b22358e]{flex-direction:row;align-items:center}.form-label[data-v-5b22358e]{font-size:12px;color:#6a8759;font-weight:600}.form-label--checkbox[data-v-5b22358e]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#a9b7c6;font-weight:400}.form-checkbox[data-v-5b22358e]{width:14px;height:14px;accent-color:#4a9eff;cursor:pointer}.form-input[data-v-5b22358e]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-5b22358e]:focus{border-color:#4a9eff}.form-textarea[data-v-5b22358e]{resize:vertical;line-height:1.5}.form-error[data-v-5b22358e]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-5b22358e]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-5b22358e]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-5b22358e]{background:#1e6aa6;color:#fff}.btn-primary[data-v-5b22358e]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-5b22358e]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-5b22358e]:hover{background:#4b4f52}.page[data-v-86a4e31f]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-86a4e31f]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-86a4e31f]{flex:1;min-height:0}.row-actions[data-v-86a4e31f]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-86a4e31f]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-86a4e31f]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-86a4e31f]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.status-dot[data-v-86a4e31f]{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status-dot[data-v-86a4e31f]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot--on[data-v-86a4e31f]{color:#6a8759}.status-dot--on[data-v-86a4e31f]:before{background:#6a8759}.status-dot--off[data-v-86a4e31f]{color:#6a6a6a}.status-dot--off[data-v-86a4e31f]:before{background:#6a6a6a}.char-panel[data-v-86a4e31f]{display:flex;flex-direction:column;gap:0}.char-list[data-v-86a4e31f]{display:flex;flex-direction:column;gap:4px;min-height:40px}.char-empty[data-v-86a4e31f]{color:#6a6a6a;font-size:13px;padding:8px 0}.char-row[data-v-86a4e31f]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:3px;background:#313335}.char-scope[data-v-86a4e31f]{font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;text-transform:uppercase;flex-shrink:0}.char-scope--tenant[data-v-86a4e31f]{background:#2d4a2d;color:#6a8759}.char-scope--contract[data-v-86a4e31f]{background:#1e3a5f;color:#4a9eff}.char-name[data-v-86a4e31f]{font-size:13px;color:#a9b7c6;flex:1}.char-subname[data-v-86a4e31f]{font-size:11px;color:#6a6a6a}.divider[data-v-86a4e31f]{border:none;border-top:1px solid #4b4f52;margin:20px 0}.add-section-title[data-v-86a4e31f]{font-size:12px;color:#6a8759;font-weight:600;margin-bottom:14px}.entity-form[data-v-86a4e31f]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-86a4e31f]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-86a4e31f]{font-size:12px;color:#6a8759;font-weight:600}.form-input[data-v-86a4e31f]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-86a4e31f]:focus{border-color:#4a9eff}.form-textarea[data-v-86a4e31f]{resize:vertical;line-height:1.5}.form-error[data-v-86a4e31f]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-86a4e31f]{display:flex;justify-content:flex-end}.btn[data-v-86a4e31f]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-86a4e31f]{background:#1e6aa6;color:#fff}.btn-primary[data-v-86a4e31f]:hover:not(:disabled){background:#2a7fcc}.add-section[data-v-86a4e31f]{padding-bottom:8px}.page[data-v-ec06ee9b]{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-inner[data-v-ec06ee9b]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper[data-v-ec06ee9b]{flex:1;min-height:0}.row-actions[data-v-ec06ee9b]{display:flex;gap:4px;justify-content:flex-end}.icon-btn[data-v-ec06ee9b]{background:none;border:1px solid transparent;color:#6a6a6a;cursor:pointer;padding:4px 6px;border-radius:3px;display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.icon-btn[data-v-ec06ee9b]:hover:not(:disabled){color:#a9b7c6;background:#4b4f52;border-color:#4b4f52}.icon-btn--danger[data-v-ec06ee9b]:hover{color:#ff6b68!important;background:#ff6b681a!important;border-color:#ff6b684d!important}.entity-form[data-v-ec06ee9b]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-ec06ee9b]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-ec06ee9b]{font-size:12px;color:#6a8759;font-weight:600}.form-input[data-v-ec06ee9b]{background:#2b2b2b;border:1px solid #4b4f52;color:#a9b7c6;font-size:13px;padding:7px 10px;border-radius:3px;outline:none;font-family:inherit;transition:border-color .15s}.form-input[data-v-ec06ee9b]:focus{border-color:#4a9eff}.form-select[data-v-ec06ee9b]{cursor:pointer}.form-select option[data-v-ec06ee9b]{background:#2b2b2b}.form-error[data-v-ec06ee9b]{color:#ff6b68;font-size:12px;margin:0;padding:8px 12px;background:#ff6b681a;border:1px solid rgba(255,107,104,.3);border-radius:3px}.form-actions[data-v-ec06ee9b]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn[data-v-ec06ee9b]{font-size:13px;padding:6px 14px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;font-family:inherit}.btn-primary[data-v-ec06ee9b]{background:#1e6aa6;color:#fff}.btn-primary[data-v-ec06ee9b]:hover:not(:disabled){background:#2a7fcc}.btn-ghost[data-v-ec06ee9b]{background:transparent;color:#a9b7c6;border:1px solid #4b4f52}.btn-ghost[data-v-ec06ee9b]:hover{background:#4b4f52}
