:root{--brand: #b97e3a;--brand-warm: #a06a2c;--brand-soft: rgba(185, 126, 58, .1);--brand-soft-strong: rgba(185, 126, 58, .18);--line-brand: rgba(185, 126, 58, .45);--jade: #2f8b6b;--jade-soft: rgba(47, 139, 107, .12);--cinnabar: #c5392c;--cinnabar-soft: rgba(197, 57, 44, .12);--saffron: #c2841f;--saffron-soft: rgba(194, 132, 31, .12);--ice: #3573d1;--ice-soft: rgba(53, 115, 209, .12);--font-display: "Fraunces", "Noto Serif SC", "STSongti-SC", serif;--font-body: "IBM Plex Sans", "IBM Plex Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-sm: 3px;--r-md: 6px;--r-lg: 10px}:root,html.light{--ink: #f7f5f0;--ink-1: #ffffff;--ink-2: #f1ede4;--ink-3: #ebe6da;--ink-4: #ddd6c5;--ink-5: #c8c0ae;--line: rgba(48, 36, 18, .08);--line-strong: rgba(48, 36, 18, .16);--text: #1a1d24;--text-2: #424954;--text-3: #6b727c;--text-4: #9aa1ab;--shadow-deep: 0 16px 48px rgba(35, 28, 14, .16), 0 2px 6px rgba(35, 28, 14, .08);--shadow-soft: 0 4px 16px rgba(35, 28, 14, .08)}html.dark{--ink: #0e1116;--ink-1: #12161d;--ink-2: #161b22;--ink-3: #1c232c;--ink-4: #242c36;--ink-5: #2f3744;--line: rgba(230, 237, 243, .06);--line-strong: rgba(230, 237, 243, .12);--text: #e6edf3;--text-2: #b1bac4;--text-3: #7d8590;--text-4: #545d68;--brand: #d5a05c;--brand-warm: #c58944;--brand-soft: rgba(213, 160, 92, .08);--brand-soft-strong: rgba(213, 160, 92, .18);--line-brand: rgba(213, 160, 92, .4);--jade: #4da888;--jade-soft: rgba(77, 168, 136, .12);--cinnabar: #d94b3d;--cinnabar-soft: rgba(217, 75, 61, .12);--saffron: #e5a93b;--saffron-soft: rgba(229, 169, 59, .12);--ice: #6ea9ff;--ice-soft: rgba(110, 169, 255, .12);--shadow-deep: 0 16px 48px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .6);--shadow-soft: 0 4px 16px rgba(0, 0, 0, .35)}html:root{--el-color-primary: var(--brand);--el-color-primary-light-3: #c58944;--el-color-primary-light-5: rgba(213, 160, 92, .5);--el-color-primary-light-7: rgba(213, 160, 92, .3);--el-color-primary-light-8: rgba(213, 160, 92, .18);--el-color-primary-light-9: rgba(213, 160, 92, .08);--el-color-primary-dark-2: #b97e3a;--el-color-success: var(--jade);--el-color-success-light-3: #4da888;--el-color-success-light-5: rgba(77, 168, 136, .5);--el-color-success-light-7: rgba(77, 168, 136, .3);--el-color-success-light-8: rgba(77, 168, 136, .18);--el-color-success-light-9: rgba(77, 168, 136, .08);--el-color-warning: var(--saffron);--el-color-warning-light-9: rgba(229, 169, 59, .08);--el-color-danger: var(--cinnabar);--el-color-danger-light-9: rgba(217, 75, 61, .08);--el-color-error: var(--cinnabar);--el-color-error-light-9: rgba(217, 75, 61, .08);--el-color-info: var(--text-3);--el-color-info-light-9: rgba(125, 133, 144, .08);--el-bg-color: var(--ink-1);--el-bg-color-page: var(--ink);--el-bg-color-overlay: var(--ink-2);--el-text-color-primary: var(--text);--el-text-color-regular: var(--text-2);--el-text-color-secondary: var(--text-3);--el-text-color-placeholder: var(--text-4);--el-text-color-disabled: var(--text-4);--el-border-color: var(--line-strong);--el-border-color-light: var(--line);--el-border-color-lighter: var(--line);--el-border-color-extra-light: var(--line);--el-border-color-dark: var(--line-strong);--el-fill-color: var(--ink-2);--el-fill-color-light: var(--ink-2);--el-fill-color-lighter: var(--ink-3);--el-fill-color-blank: var(--ink-1);--el-fill-color-darker: var(--ink-3);--el-disabled-bg-color: var(--ink-2);--el-disabled-text-color: var(--text-4);--el-disabled-border-color: var(--line);--el-mask-color: rgba(0, 0, 0, .78);--el-overlay-color: rgba(0, 0, 0, .85);--el-overlay-color-light: rgba(0, 0, 0, .78);--el-overlay-color-lighter: rgba(0, 0, 0, .7);--el-border-radius-base: 4px;--el-border-radius-small: 3px;--el-border-radius-round: 999px;--el-box-shadow: 0 12px 32px rgba(0, 0, 0, .5);--el-box-shadow-light: 0 4px 16px rgba(0, 0, 0, .35)}html .el-button{font-family:var(--font-body);font-weight:500;letter-spacing:.01em}html .el-button--primary{--el-button-text-color: #fff;--el-button-bg-color: var(--brand);--el-button-border-color: var(--brand);--el-button-hover-bg-color: var(--brand-warm);--el-button-hover-border-color: var(--brand-warm);--el-button-hover-text-color: #fff;--el-button-active-bg-color: #8c5c26;--el-button-active-border-color: #8c5c26;--el-button-active-text-color: #fff;font-weight:600}html .el-table{--el-table-bg-color: transparent;--el-table-tr-bg-color: transparent;--el-table-row-hover-bg-color: var(--brand-soft);--el-table-header-bg-color: transparent;--el-table-header-text-color: var(--text-3);--el-table-border-color: var(--line);--el-table-border: 1px solid var(--line);font-feature-settings:"tnum"}html .el-table th.el-table__cell{font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:11px;background:transparent}html .el-table td.el-table__cell,html .el-table th.el-table__cell.is-leaf{border-bottom:1px solid var(--line)}html .el-table:before{display:none}html .el-table-fixed-column--left,html .el-table-fixed-column--right{background:var(--ink-1)!important}html .el-table__row:hover .el-table-fixed-column--left,html .el-table__row:hover .el-table-fixed-column--right{background:var(--brand-soft)!important}html .el-table__header-wrapper .el-table-fixed-column--left,html .el-table__header-wrapper .el-table-fixed-column--right{background:var(--ink-1)!important}html .el-table .el-table__row--striped td.el-table__cell{background:var(--ink-2)}html .el-input__wrapper,html .el-select__wrapper,html .el-textarea__inner{background:var(--ink-2);box-shadow:0 0 0 1px var(--line-strong) inset;border-radius:var(--r-md)}html .el-input__wrapper.is-focus,html .el-select__wrapper.is-focus,html .el-textarea__inner.is-focus{box-shadow:0 0 0 1px var(--brand) inset!important}html .el-textarea__inner:focus{box-shadow:0 0 0 1px var(--brand) inset!important}html .el-input__inner{color:var(--text);font-family:var(--font-body)}html .el-overlay{background-color:#000000b3!important;backdrop-filter:blur(2px)}html .el-dialog{background:var(--ink-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-deep);--el-dialog-padding-primary: 24px;margin:6vh auto!important;max-height:88vh;display:flex;flex-direction:column}html .el-dialog__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0}html .el-dialog__header{flex-shrink:0;border-bottom:1px solid var(--line);padding-bottom:16px;margin-right:0}html .el-dialog__title{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:22px;letter-spacing:-.01em}html .el-dialog__footer{flex-shrink:0;border-top:1px solid var(--line);padding-top:16px}html .el-divider{border-color:var(--line)}html .el-divider__text{background:var(--ink);color:var(--text-3);font-family:var(--font-display);font-style:italic;font-size:13px;letter-spacing:.02em}html .el-menu{border-right:none!important;background:transparent!important}html .el-menu-item{height:40px;line-height:40px;font-family:var(--font-body);font-size:13px;letter-spacing:.04em;border-radius:0!important}html .el-tag{border-radius:2px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;padding:0 6px;height:20px;line-height:18px}html .el-alert{border-radius:var(--r-md)}html .el-pagination{--el-pagination-button-color: var(--text-2);--el-pagination-hover-color: var(--brand);--el-pagination-bg-color: transparent;--el-pagination-button-bg-color: var(--ink-2);--el-pagination-button-disabled-bg-color: var(--ink-1);font-family:var(--font-mono);font-size:12px}html .el-notification,html .el-message{font-family:var(--font-body);background:var(--ink-2);border:1px solid var(--line-strong)}html .el-notification__title{font-family:var(--font-display);font-style:italic;font-size:16px}html .el-message-box{background:var(--ink-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);--el-messagebox-title-color: var(--text)}html .el-message-box__title{font-family:var(--font-display);font-style:italic}html .el-switch.is-checked .el-switch__core{background:var(--brand);border-color:var(--brand)}html .el-slider__bar{background:var(--brand)}html .el-slider__button{border-color:var(--brand)}html .el-radio__input.is-checked .el-radio__inner{background:var(--brand);border-color:var(--brand)}html .el-radio__input.is-checked+.el-radio__label{color:var(--text)}html .el-card{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-md)}html .el-dropdown-menu{background:var(--ink-1);border:1px solid var(--line-strong)}html .el-scrollbar__bar.is-vertical>div,html .el-scrollbar__bar.is-horizontal>div{background:var(--line-strong)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}html{background:var(--ink)}html.light{color-scheme:light}html.dark{color-scheme:dark}body{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03";background-attachment:fixed}html.dark body{background:radial-gradient(circle at 18% 0%,rgba(213,160,92,.06),transparent 35%),radial-gradient(circle at 92% 100%,rgba(77,168,136,.045),transparent 45%),var(--ink)}html.light body{background:radial-gradient(circle at 18% 0%,rgba(185,126,58,.07),transparent 38%),radial-gradient(circle at 92% 100%,rgba(47,139,107,.05),transparent 48%),var(--ink)}html.dark body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1   0 0 0 0 1   0 0 0 0 1   0 0 0 0.18 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.5}::selection{background:var(--brand);color:#fff}html.dark ::selection{color:#1a1108}.mono{font-family:var(--font-mono);font-feature-settings:"tnum","zero","ss01";font-size:.92em;letter-spacing:.01em}.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em}.display-italic{font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:-.015em}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;vertical-align:middle;margin-right:6px;flex-shrink:0}.dot.online{background:var(--jade);box-shadow:0 0 #4da888b3;animation:pulse-jade 2s infinite}.dot.offline{background:var(--text-4)}.dot.fault{background:var(--saffron);animation:pulse-saffron 1.4s infinite}@keyframes pulse-jade{0%{box-shadow:0 0 #4da88880}70%{box-shadow:0 0 0 7px #4da88800}to{box-shadow:0 0 #4da88800}}@keyframes pulse-saffron{0%{box-shadow:0 0 #e5a93b80}70%{box-shadow:0 0 0 6px #e5a93b00}to{box-shadow:0 0 #e5a93b00}}.page{padding:28px 36px 36px;animation:page-in .5s cubic-bezier(.2,.7,.2,1) both}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}.page-head .lede{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}.page-head h1{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--text)}.page-head h1 em{font-style:italic;font-weight:300;color:var(--brand)}@keyframes page-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line);animation:fade-in .4s both}.page-toolbar h2{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:26px;line-height:1.2;letter-spacing:-.01em;color:var(--text)}.page-card{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-soft)}.text-secondary{color:var(--text-2)}.text-muted{color:var(--text-3)}.empty-cell{color:var(--text-4)}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.mr-8{margin-right:8px}.flex-row{display:flex;align-items:center}.flex-1{flex:1}.gap-8{gap:8px}.gap-12{gap:12px}.role-tag-platform{--el-tag-bg-color: var(--saffron-soft);--el-tag-text-color: var(--saffron);--el-tag-border-color: var(--saffron-soft)}
