.no-permission[data-v-5fe8dce3]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 118px);padding:24px 0 60px}.no-permission__card[data-v-5fe8dce3]{width:min(560px,100%);padding:44px 44px 38px;border:1px solid var(--cy-border);border-radius:var(--cy-radius-xl);background:var(--cy-surface);box-shadow:var(--cy-shadow-card);text-align:center}.no-permission__icon[data-v-5fe8dce3]{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:18px;background:var(--cy-brand-soft);color:var(--cy-brand);font-size:26px}.no-permission__code[data-v-5fe8dce3]{display:inline-flex;align-items:center;height:22px;margin-bottom:10px;padding:0 8px;border:1px solid var(--cy-brand-border);border-radius:6px;background:var(--cy-brand-soft);color:var(--cy-brand-active);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600}.no-permission__title[data-v-5fe8dce3]{margin:0 0 10px;color:var(--cy-text);font-size:20px;font-weight:600}.no-permission__desc[data-v-5fe8dce3]{margin:0 0 22px;color:var(--cy-text-secondary);font-size:13px}.no-permission__desc b[data-v-5fe8dce3]{color:var(--cy-brand-active)}.no-permission__tips[data-v-5fe8dce3]{margin:0 0 26px;padding:16px 18px;border:1px dashed var(--cy-border);border-radius:var(--cy-radius);background:var(--cy-surface-muted);color:var(--cy-text-secondary);font-size:12px;line-height:1.9;list-style:none;text-align:left}.no-permission__tips li+li[data-v-5fe8dce3]{margin-top:4px}.no-permission__actions[data-v-5fe8dce3]{display:flex;justify-content:center;gap:12px}.admin-shell[data-v-87a6a072]{display:flex;min-width:var(--cy-shell-min-width);min-height:100vh;background:var(--cy-bg)}.admin-sider[data-v-87a6a072]{position:sticky;top:0;display:flex;flex-direction:column;flex:none;width:var(--cy-sider-width);height:100vh;border-right:1px solid var(--cy-border);background:var(--cy-surface);transition:width .18s ease;z-index:30}.admin-sider--collapsed[data-v-87a6a072]{width:var(--cy-sider-collapsed-width)}.sider-brand[data-v-87a6a072]{display:flex;align-items:center;gap:10px;flex:none;height:var(--cy-topbar-height);padding:0 16px;border-bottom:1px solid var(--cy-border);color:var(--cy-text);text-decoration:none}.sider-brand[data-v-87a6a072]:hover{color:var(--cy-text)}.sider-brand__mark[data-v-87a6a072]{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--cy-brand-gradient);color:#fff;box-shadow:0 6px 14px -8px #e85a3abf}.sider-brand__text[data-v-87a6a072]{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.2}.sider-brand__text b[data-v-87a6a072]{font-size:16px;font-weight:700;letter-spacing:.02em}.sider-brand__text small[data-v-87a6a072]{color:var(--cy-text-tertiary);font-size:10px;letter-spacing:.04em}.sider-nav[data-v-87a6a072]{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 10px 16px}.nav-group[data-v-87a6a072]{margin-bottom:2px}.nav-group__title[data-v-87a6a072]{display:flex;align-items:center;gap:8px;padding:12px 10px 5px;color:var(--cy-text-tertiary);font-size:11px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.nav-group__title--collapsed[data-v-87a6a072]{justify-content:center;padding:10px 0 4px}.nav-group__icon[data-v-87a6a072]{flex:none;font-size:13px;opacity:.75}.nav-group__title--collapsed .nav-group__icon[data-v-87a6a072]{font-size:15px;opacity:.9}.nav-item[data-v-87a6a072]{position:relative;display:flex;align-items:center;gap:8px;height:36px;margin:1px 0;padding:0 10px;border-radius:var(--cy-radius-sm);color:var(--cy-text-secondary);font-size:13px;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.nav-item[data-v-87a6a072]:hover{background:#faf6f2;color:var(--cy-text)}.nav-item__code[data-v-87a6a072]{flex:none;width:26px;color:#c3b4a8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;letter-spacing:-.02em}.nav-item__label[data-v-87a6a072]{overflow:hidden;text-overflow:ellipsis}.nav-item--active[data-v-87a6a072]{background:var(--cy-brand-soft);color:var(--cy-brand-active);font-weight:600}.nav-item--active .nav-item__code[data-v-87a6a072]{color:var(--cy-brand)}.nav-item--active[data-v-87a6a072]:before{position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--cy-brand);content:""}.nav-item--collapsed[data-v-87a6a072]{justify-content:center;padding:0}.nav-item--collapsed .nav-item__code[data-v-87a6a072]{width:auto;font-size:10px}.sider-footer[data-v-87a6a072]{flex:none;display:flex;flex-direction:column;gap:4px;padding:14px 18px 16px;border-top:1px solid var(--cy-border);background:var(--cy-surface-muted)}.sider-footer--collapsed[data-v-87a6a072]{align-items:center;padding:12px 0}.sider-footer__badge[data-v-87a6a072]{align-self:flex-start;padding:1px 7px;border:1px solid var(--cy-brand-border);border-radius:999px;background:var(--cy-brand-soft);color:var(--cy-brand-active);font-size:10px;font-weight:600;letter-spacing:.02em}.sider-footer--collapsed .sider-footer__badge[data-v-87a6a072]{align-self:center}.sider-footer__text[data-v-87a6a072]{color:var(--cy-text-tertiary);font-size:11px}.admin-main[data-v-87a6a072]{display:flex;flex-direction:column;flex:1;min-width:0}.admin-topbar[data-v-87a6a072]{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;flex:none;height:var(--cy-topbar-height);padding:0 24px;border-bottom:1px solid var(--cy-border);background:#f7f5f2e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-icon-button[data-v-87a6a072]{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid transparent;border-radius:var(--cy-radius-sm);background:transparent;color:var(--cy-text-secondary);font-size:18px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.topbar-icon-button[data-v-87a6a072]:hover{background:var(--cy-surface);border-color:var(--cy-border);color:var(--cy-brand)}.topbar-crumbs[data-v-87a6a072]{display:flex;align-items:center;gap:5px;min-width:0;color:var(--cy-text-tertiary);font-size:13px;white-space:nowrap}.topbar-crumbs__link[data-v-87a6a072]{color:var(--cy-text-secondary);text-decoration:none}.topbar-crumbs__link[data-v-87a6a072]:hover{color:var(--cy-brand)}.topbar-crumbs__divider[data-v-87a6a072]{font-size:14px;color:#cbbcb0}.topbar-crumbs__item[data-v-87a6a072]{overflow:hidden;max-width:220px;color:var(--cy-text);font-weight:500;text-overflow:ellipsis}.topbar-search[data-v-87a6a072]{flex:0 1 320px;min-width:180px;margin-left:10px}.topbar-search[data-v-87a6a072] .t-input{border-radius:var(--cy-radius-pill);background:var(--cy-surface)}.topbar-search__icon[data-v-87a6a072]{color:var(--cy-text-tertiary)}.topbar-right[data-v-87a6a072]{display:flex;align-items:center;gap:12px;margin-left:auto;flex:none}.proto-badge[data-v-87a6a072]{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border:1px solid #ffe0b8;border-radius:999px;background:#fff6e8;color:#a9680d;font-size:12px;font-weight:500;white-space:nowrap}.proto-badge__dot[data-v-87a6a072]{width:6px;height:6px;border-radius:50%;background:#e0911c;box-shadow:0 0 0 3px #e0911c29}.topbar-role-tag[data-v-87a6a072]{flex:none}.user-trigger[data-v-87a6a072]{display:flex;align-items:center;gap:9px;height:38px;padding:0 8px 0 4px;border:1px solid transparent;border-radius:var(--cy-radius-sm);background:transparent;font-family:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.user-trigger[data-v-87a6a072]:hover{background:var(--cy-surface);border-color:var(--cy-border)}.user-trigger__avatar[data-v-87a6a072]{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--cy-brand-gradient);color:#fff;font-size:13px;font-weight:600}.user-trigger__meta[data-v-87a6a072]{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.25}.user-trigger__meta b[data-v-87a6a072]{color:var(--cy-text);font-size:12px;font-weight:600;white-space:nowrap}.user-trigger__meta small[data-v-87a6a072]{color:var(--cy-text-tertiary);font-size:10px;white-space:nowrap}.admin-content[data-v-87a6a072]{flex:1;min-width:0;padding:22px 28px 36px}.admin-content__inner[data-v-87a6a072]{width:100%;max-width:var(--cy-content-max-width);margin:0 auto}@media(max-width:1440px){.admin-content[data-v-87a6a072]{padding:20px 22px 32px}.topbar-search[data-v-87a6a072]{flex-basis:260px}}@media(max-width:1280px){.admin-topbar[data-v-87a6a072]{padding:0 18px;gap:10px}.admin-content[data-v-87a6a072]{padding:18px 18px 28px}.topbar-search[data-v-87a6a072]{flex-basis:220px}}.page-header[data-v-053f3d86]{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-header__main[data-v-053f3d86]{min-width:0}.page-header__title-row[data-v-053f3d86]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.page-header__title[data-v-053f3d86]{margin:0;color:var(--cy-text);font-size:22px;font-weight:700;line-height:1.3;letter-spacing:.01em}.page-header__code[data-v-053f3d86]{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--cy-brand-border);border-radius:6px;background:var(--cy-brand-soft);color:var(--cy-brand-active);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.03em}.page-header__desc[data-v-053f3d86]{max-width:880px;margin:7px 0 0;color:var(--cy-text-secondary);font-size:13px;line-height:1.7}.page-header__meta[data-v-053f3d86]{margin-top:6px;color:var(--cy-text-tertiary);font-size:12px}.page-header__actions[data-v-053f3d86]{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;flex:none;padding-top:2px}@media(max-width:1280px){.page-header__title[data-v-053f3d86]{font-size:20px}}.real-resource-page[data-v-b2cca60f]{display:grid;gap:16px}.real-controls[data-v-b2cca60f]{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:var(--cy-surface);border:1px solid var(--cy-border);border-radius:8px}.real-controls label[data-v-b2cca60f]{display:grid;gap:6px;min-width:200px;font-size:12px}.real-filter[data-v-b2cca60f]{flex:1}.real-source[data-v-b2cca60f],.real-scope[data-v-b2cca60f]{font-size:12px;color:var(--cy-text-secondary)}.real-json[data-v-b2cca60f]{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:60vh;overflow:auto;padding:16px;background:#fff;border:1px solid var(--cy-border)}.real-response[data-v-b2cca60f]{font-size:12px}.system-page[data-v-729f8b88]{display:grid;gap:18px}.system-card[data-v-729f8b88]{padding:20px;background:var(--cy-surface);border:1px solid var(--cy-border);border-radius:12px;min-width:0}.filters[data-v-729f8b88]{display:flex;align-items:center;gap:12px;margin-bottom:18px}.filters>.t-input__wrap[data-v-729f8b88]{max-width:300px}.filters>.t-select__wrap[data-v-729f8b88]{max-width:140px}.tags[data-v-729f8b88],.row-actions[data-v-729f8b88]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions a[data-v-729f8b88]{font-size:12px;color:var(--cy-brand)}.muted[data-v-729f8b88]{color:var(--cy-text-secondary);font-size:12px}.pagination[data-v-729f8b88]{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:18px}.pagination>span[data-v-729f8b88]{margin-right:auto}.system-form[data-v-729f8b88]{display:grid;gap:16px}.system-form label[data-v-729f8b88]{display:grid;gap:7px;font-size:13px}.form-grid[data-v-729f8b88]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inline-label[data-v-729f8b88]{display:flex!important;align-items:center;gap:14px!important}.dialog-actions[data-v-729f8b88]{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--cy-border);padding-top:18px}.permission-title[data-v-729f8b88]{display:flex;align-items:center;justify-content:space-between}.permission-tree[data-v-729f8b88]{max-height:320px;overflow:auto;padding:12px;border:1px solid var(--cy-border);border-radius:8px}@media(max-width:760px){.filters[data-v-729f8b88]{flex-wrap:wrap}.form-grid[data-v-729f8b88]{grid-template-columns:1fr}.system-card[data-v-729f8b88]{padding:12px}}:root{color-scheme:light;--cy-brand: #ff6b4a;--cy-brand-hover: #ff8569;--cy-brand-active: #e85a3a;--cy-brand-soft: #fff1ec;--cy-brand-soft-strong: #ffe3da;--cy-brand-border: #ffd2c6;--cy-brand-gradient: linear-gradient(135deg, #ff8a66 0%, #ff6b4a 48%, #ef5330 100%);--cy-success: #1f9d62;--cy-success-soft: #e9f7ef;--cy-warning: #d98314;--cy-warning-soft: #fff5e6;--cy-danger: #d94f45;--cy-danger-soft: #fdeeee;--cy-info: #2f7fd0;--cy-info-soft: #edf5fd;--cy-bg: #f7f5f2;--cy-bg-deep: #f1ede8;--cy-surface: #ffffff;--cy-surface-muted: #fbf9f7;--cy-border: #ede6df;--cy-border-strong: #e2d8cf;--cy-text: #2e2622;--cy-text-secondary: #7a6a60;--cy-text-tertiary: #a8988d;--cy-text-inverse: #ffffff;--cy-radius-sm: 8px;--cy-radius: 10px;--cy-radius-lg: 12px;--cy-radius-xl: 16px;--cy-radius-pill: 999px;--cy-shadow-card: 0 1px 2px rgba(46, 38, 34, .03), 0 10px 28px -22px rgba(46, 38, 34, .22);--cy-shadow-pop: 0 18px 48px -20px rgba(46, 38, 34, .28);--cy-space-page: 24px;--cy-sider-width: 248px;--cy-sider-collapsed-width: 68px;--cy-topbar-height: 60px;--cy-shell-min-width: 1180px;--cy-content-max-width: 1560px;--cy-font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--td-brand-color: var(--cy-brand);--td-brand-color-hover: var(--cy-brand-hover);--td-brand-color-active: var(--cy-brand-active);--td-brand-color-focus: var(--cy-brand-border);--td-brand-color-disabled: #ffc2b2;--td-brand-color-light: var(--cy-brand-soft);--td-brand-color-light-hover: #ffe9e2;--td-brand-color-light-active: var(--cy-brand-soft-strong);--td-brand-color-1: #fff5f2;--td-brand-color-2: #ffe9e2;--td-brand-color-3: #ffd8cc;--td-brand-color-4: #ffc2b2;--td-brand-color-5: #ffa58f;--td-brand-color-6: #ff8a6c;--td-brand-color-7: #ff6b4a;--td-brand-color-8: #e85a3a;--td-brand-color-9: #c94a2e;--td-brand-color-10: #a63a24;--td-bg-color-page: var(--cy-bg);--td-bg-color-container: var(--cy-surface);--td-bg-color-container-hover: var(--cy-surface-muted);--td-bg-color-container-active: var(--cy-bg-deep);--td-bg-color-secondarycontainer: #f4efe9;--td-bg-color-secondarycontainer-hover: #ece5de;--td-bg-color-secondarycontainer-active: #e4dbd2;--td-bg-color-component: #f4efe9;--td-bg-color-component-hover: #ece5de;--td-bg-color-component-active: #e4dbd2;--td-bg-color-component-disabled: #f6f2ee;--td-text-color-primary: var(--cy-text);--td-text-color-secondary: var(--cy-text-secondary);--td-text-color-placeholder: var(--cy-text-tertiary);--td-text-color-disabled: #c0b2a7;--td-text-color-brand: var(--cy-brand);--td-text-color-link: var(--cy-brand);--td-border-level-1-color: var(--cy-border);--td-border-level-2-color: var(--cy-border-strong);--td-component-border: var(--cy-border);--td-radius-small: 6px;--td-radius-default: 8px;--td-radius-medium: var(--cy-radius);--td-radius-large: var(--cy-radius-lg);--td-radius-extraLarge: var(--cy-radius-xl);--td-font-family: var(--cy-font-family);--td-font-family-medium: var(--cy-font-family);--td-shadow-1: 0 1px 2px rgba(46, 38, 34, .04);--td-shadow-2: 0 6px 20px -12px rgba(46, 38, 34, .24);--td-shadow-3: 0 18px 48px -20px rgba(46, 38, 34, .3)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;min-width:var(--cy-shell-min-width);background:var(--cy-bg);color:var(--cy-text);font-family:var(--cy-font-family);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--cy-brand);text-decoration:none}a:hover{color:var(--cy-brand-hover)}::selection{background:var(--cy-brand-soft-strong);color:var(--cy-text)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#ddd2c8;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#c9baad}*::-webkit-scrollbar-track{background:transparent}.page-stack{display:flex;flex-direction:column;gap:16px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.filter-bar__item{display:flex;align-items:center;gap:8px;min-width:0}.filter-bar__label{flex:none;color:var(--cy-text-secondary);font-size:13px;white-space:nowrap}.filter-bar__grow{flex:1 1 220px;min-width:180px;max-width:360px}.filter-bar__spacer{flex:1 1 auto}.table-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--cy-text-secondary);font-size:13px}.table-footer__meta{display:inline-flex;align-items:center;gap:8px}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.table-toolbar__left,.table-toolbar__right{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.table-wrap{padding:4px 20px 18px}.table-wrap .t-table{border-radius:var(--cy-radius-sm)}.table-actions{display:inline-flex;align-items:center;gap:4px}.table-actions .t-button{padding-left:4px;padding-right:4px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.detail-grid__item{display:flex;flex-direction:column;gap:3px;min-width:0;padding-bottom:10px;border-bottom:1px dashed var(--cy-border)}.detail-grid__label{color:var(--cy-text-tertiary);font-size:12px}.detail-grid__value{overflow:hidden;color:var(--cy-text);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.page-source{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 0;padding-top:12px;border-top:1px dashed var(--cy-border);color:var(--cy-text-tertiary);font-size:12px;line-height:1.7}.page-source__code{display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid var(--cy-brand-border);border-radius:6px;background:var(--cy-brand-soft);color:var(--cy-brand-active);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.02em}.page-source__label{color:var(--cy-text-secondary);font-weight:600}.cy-muted{color:var(--cy-text-secondary)}.cy-tertiary{color:var(--cy-text-tertiary)}.cy-strong{color:var(--cy-text);font-weight:600}.cy-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.01em}.cy-cell-title{color:var(--cy-text);font-weight:500}.cy-cell-sub{color:var(--cy-text-tertiary);font-size:12px}.cy-inline{display:inline-flex;align-items:center;gap:6px}.cy-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cy-brand)}.cy-divider{height:1px;background:var(--cy-border);border:0;margin:16px 0}.t-button{border-radius:var(--cy-radius-sm);font-weight:500}.t-button--variant-base.t-button--theme-primary{background-color:var(--cy-brand);border-color:var(--cy-brand);box-shadow:0 6px 14px -10px #e85a3ae6}.t-button--variant-base.t-button--theme-primary:hover{background-color:var(--cy-brand-hover);border-color:var(--cy-brand-hover)}.t-button--variant-base.t-button--theme-primary:active{background-color:var(--cy-brand-active);border-color:var(--cy-brand-active)}.t-input,.t-textarea,.t-select .t-input{border-radius:var(--cy-radius-sm)}.t-input:hover,.t-textarea:hover{border-color:var(--cy-border-strong)}.t-input.t-is-focused,.t-textarea.t-is-focused{border-color:var(--cy-brand);box-shadow:0 0 0 3px #ff6b4a1f}.t-tag{border-radius:6px}.t-table{background:transparent;font-size:13px}.t-table th.t-table__th{background:#faf7f3;color:var(--cy-text-secondary);font-weight:600}.t-table td.t-table__td{color:var(--cy-text)}.t-table .t-table__row--hover td.t-table__td{background:#fdfbf9}.t-pagination{gap:2px}.t-dialog{border-radius:var(--cy-radius-lg)}.t-dialog__header{font-size:16px;font-weight:600}.t-drawer{border-radius:var(--cy-radius-lg) 0 0 var(--cy-radius-lg)}.t-form__label{color:var(--cy-text-secondary)}.page-enter-active,.page-leave-active{transition:opacity .16s ease,transform .16s ease}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}@media(max-width:1360px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
