body{font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] body{background:#0b1220}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] body{background:#f5f7fa}.app-loading{color:#475569;background:#f8fafc;place-items:center;min-height:100vh;font-size:14px;display:grid}:root{--color-bg:#f3f5f8;--color-surface:#fff;--color-text:#1d1d1f;--color-text-muted:#6e6e73;--color-text-faint:#86868b;--color-primary:#1f4e79;--color-primary-pressed:#163a5c;--color-primary-fill:#1f4e791a;--color-border:#e4e8ee;--color-fill:#1f4e790a;--color-fill-strong:#1f4e7914;--color-success:#248a3d;--color-warning:#b25000;--color-danger:#d70015;--color-info:#0071e3;--color-primary-bg:#e4f0fa;--color-success-bg:#e3f6ea;--color-warning-bg:#fff6e8;--color-danger-bg:#ffe7e6;--color-info-bg:#e6f7ff;--color-focus:#1f4e79;--color-header:#fff;--color-header-fg:#1d1d1f;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--radius-sm:4px;--radius-md:6px;--radius-lg:6px;--radius-pill:999px;--shadow-1:0 1px 2px #0000000f, 0 1px 1px #0000000a;--shadow-2:0 8px 28px #0000001f, 0 2px 8px #0000000f;--duration-instant:80ms;--duration-fast:.16s;--duration-base:.22s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--focus-ring-width:3px;--focus-ring-offset:2px;--shell-width:232px}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.47}button,a,input,textarea,select{font-family:inherit}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell.ant-layout{background:var(--color-bg);min-height:100%}.shell-header.ant-layout-header{z-index:40;box-sizing:border-box;height:var(--chrome-header-h,56px);background:var(--color-header);color:var(--color-header-fg);border-bottom:1px solid var(--color-border);box-shadow:none;align-items:stretch;gap:8px;padding-inline:20px 12px;line-height:1.2;display:flex;position:sticky;top:0}.shell-header-brand,.shell-mobile-brand{min-width:0;max-width:220px;color:var(--color-header-fg);flex-direction:column;flex:none;justify-content:center;align-self:center;line-height:1.2;text-decoration:none;display:flex}.shell-header-brand-name,.shell-mobile-brand-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:16px;font-weight:650;display:block;overflow:hidden}.shell-header-brand-meta,.shell-mobile-brand-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block;overflow:hidden}.shell-header-nav{flex:1;align-items:stretch;min-width:0;display:flex}.shell-header-nav .ant-menu-horizontal{background:0 0;border-bottom:0;flex:1;height:100%;line-height:1.2}.shell-header-nav .ant-menu-horizontal>.ant-menu-item,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu{height:100%;color:var(--color-text);background:0 0;border-radius:0;align-items:center;margin:0;padding-inline:12px;line-height:1.2;display:inline-flex;top:0}.shell-header-nav .ant-menu-horizontal>.ant-menu-item:hover,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu:hover,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-active,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-active,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-open{color:var(--color-text);background:var(--color-fill)}.shell-header-nav .ant-menu-horizontal>.ant-menu-item:hover:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu:hover:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-active:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-active:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-open:after{border-bottom-color:#0000}.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected:hover,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected:hover{color:var(--color-primary);background:0 0}.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected:hover:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected:hover:after{border-bottom-style:solid;border-bottom-width:2px;border-bottom-color:var(--color-primary);bottom:-1px;inset-inline:14px}.shell-header-extra{flex:none;align-self:center;align-items:center;gap:8px;min-width:0;display:flex}.shell-header-extra .ant-btn-text,.shell-header-extra .shell-user-name,.shell-header-extra .ant-typography{color:var(--color-text)}.shell-header-extra .ant-btn-text:hover{color:var(--color-text);background:var(--color-fill-strong)}.shell-capsule{border-radius:var(--radius-sm);background:var(--color-fill-strong);color:var(--color-text-muted);align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.shell-capsule.is-warn{color:var(--color-warning);background:var(--color-warning-bg)}.shell-user{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.shell-user-name{text-overflow:ellipsis;white-space:nowrap;font-weight:510;overflow:hidden}.shell-body.ant-layout{background:var(--color-bg)}.shell-sider.ant-layout-sider{background:var(--color-surface);border-right:1px solid var(--color-border)}.shell--header-static .shell-header.ant-layout-header{position:static}.shell--sider-fixed .shell-sider.ant-layout-sider{top:var(--chrome-header-h,56px);height:calc(100vh - var(--chrome-header-h,56px));align-self:flex-start;position:sticky}.shell--content-fixed .shell-main{width:min(1200px,100%);margin-inline:auto}.shell-sider-nav.shell-sider-nav{height:calc(100vh - var(--chrome-header-h,56px));padding:12px 8px;overflow:auto}.shell-sider-nav .ant-menu-inline{border-inline-end:0}.shell-sider-nav .ant-menu-item-group-title{padding:14px 12px 4px;font-size:13px;font-weight:650;line-height:1.4}.shell-sider-nav .ant-menu-item-group-list .ant-menu-item{margin-block:2px}.shell-brand{color:var(--color-text);padding:16px 16px 12px;text-decoration:none;display:block}.shell-brand-name{font-family:var(--font-display);font-size:16px;font-weight:650;line-height:1.25;display:block}.shell-brand-meta{color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block}.shell-main{min-width:0;padding:var(--shell-main-pad,24px 28px 40px);flex:1}.shell-mobile-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;font-size:18px;display:inline-flex}.shell-banner{border-radius:var(--radius-md);color:var(--color-warning);background:#b2500014;margin:-8px 0 20px;padding:10px 14px;font-size:13px}.shell-drawer-nav{box-sizing:border-box;background:var(--color-surface);flex-direction:column;height:100%;min-height:0;padding:8px 8px 16px;display:flex}.shell-drawer-close{border-radius:var(--radius-md);color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:10px 12px;font-size:13px}.shell-drawer-close:hover{background:var(--color-fill);color:var(--color-text)}@media (width<=960px){.shell-header-extra .shell-user{display:none}.shell-main{padding:20px 16px 40px}}.page{flex-direction:column;gap:16px;display:flex}.page--fill{height:100%;min-height:0}.page>.page-hero{margin-bottom:0}.page-hero{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-hero h1{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:34px;font-weight:700;line-height:1.12}.page-hero p{color:var(--color-text-muted);margin:6px 0 0;font-size:15px}.page-hero-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.page-hero--actions{align-items:center;width:100%;margin-bottom:0;display:flex}.page-hero--actions>.page-hero-actions{width:100%}.panel-head:not(:has(button,.ant-btn,.ant-tag,a)):has(+.panel-body>.filter-bar){display:none}.page-hero-marker{display:none}.page-actions-host{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.filter-bar>.list-toolbar,.filter-bar.ant-space{flex:auto;width:100%;min-width:0}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.kpis{margin-bottom:20px;display:grid}.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis-5,.kpis-compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.kpis-strip{width:auto;max-width:100%;box-shadow:none;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin-bottom:8px;display:flex}.kpis-strip .kpi,.kpis-strip button.kpi{background:0 0;flex-direction:row;align-items:baseline;gap:6px;width:auto;height:auto;min-height:0;padding:0;display:inline-flex}.kpis-strip .kpi-label{white-space:nowrap;margin-bottom:0}.kpis-strip .kpi-value{font-size:15px}.kpis-strip .kpi.is-on,.kpis-strip button.kpi.is-on{background:0 0}.kpis-strip .kpi.is-on .kpi-label,.kpis-strip .kpi.is-on .kpi-value{color:var(--color-primary)}.kpis-strip .kpi+.kpi{border:0}.kpi{min-width:0;padding:22px 24px}button.kpi{width:100%;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;display:block}button.kpi:hover{background:var(--color-fill)}.kpis-3 .kpi:not(:nth-child(3n+1)),.kpis-4 .kpi:not(:nth-child(4n+1)),.kpis-5 .kpi:not(:nth-child(5n+1)){border-left:1px solid var(--color-border)}.kpi-label{color:var(--color-text-muted);margin-bottom:8px;font-size:13px;display:block}.kpi-value{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:650;line-height:1.1}.kpi-affix{font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-muted);font-size:15px;font-weight:510}.kpi-affix:first-child{margin-right:6px}.kpi-value>.kpi-affix:last-child{margin-left:6px}.kpi-sub{color:var(--color-text-muted);margin-top:8px;font-size:13px;line-height:1.4}.panel{margin-bottom:20px;overflow:visible}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px 0;display:flex}.panel-head h2{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:650}.panel-head a{color:var(--color-primary);font-size:14px;font-weight:510;text-decoration:none}.panel-head a:hover{text-decoration:underline}.panel-body{padding:8px 8px 12px}.panel-empty,.panel-muted{color:var(--color-text-muted);padding:16px 20px 20px;font-size:14px}.list-row{border-radius:var(--radius-md);width:100%;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px;text-decoration:none;display:grid}.list-row:hover{background:var(--color-fill)}.list-row-title{font-weight:510;display:block}.list-row-sub{color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block}.list-row-meta{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.pill{border-radius:var(--radius-pill);background:var(--color-fill-strong);color:var(--color-text-muted);align-items:center;padding:2px 8px;font-size:12px;font-weight:510;display:inline-flex}.pill.is-live{color:var(--color-success);background:#248a3d1f}.pill.is-bad{color:var(--color-danger);background:#d700151a}.pill.is-ok{background:var(--color-fill-strong);color:var(--color-text)}.empty-hint{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-wrap:anywhere;max-width:100%;padding:36px 24px}.empty-hint h3{margin:0 0 8px;font-size:17px}.empty-hint p{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0 0 12px}.empty-hint a,.empty-hint-action{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-block}.facet{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:inherit;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.facet.is-on{border-color:var(--color-text);background:var(--color-fill-strong)}.quota-track{border-radius:var(--radius-pill);background:var(--color-fill-strong);height:6px;overflow:hidden}.quota-fill{border-radius:inherit;background:var(--color-text);height:100%}.quota-fill.is-full{background:var(--color-danger)}@media (width<=960px){.kpis-3,.kpis-4,.kpis-5,.kpis-compact{grid-template-columns:1fr}.kpis-3 .kpi,.kpis-4 .kpi,.kpis-5 .kpi,.kpis-compact .kpi,.kpis-strip .kpi+.kpi{border:0}.kpis:not(.kpis-strip) .kpi+.kpi{border-top:1px solid var(--color-border)}}.shell,.shell *{box-sizing:border-box}.shell--fill{height:100vh;overflow:hidden}.shell--fill .shell-body.shell-body{flex:auto;min-height:0;overflow:hidden}.shell--fill .shell-main.shell-main{flex-direction:column;height:auto;min-height:0;padding:12px 20px;display:flex;overflow:hidden}.shell--fill .shell-main>.workbench-tabs{min-height:0;flex:auto;block-size:auto}.workbench-tabs-pane:has(.split-workbench) :has(.split-workbench){flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.workbench-tabs-pane:has(.split-workbench) .panel:has(.split-workbench){margin-bottom:0;overflow:visible}.workbench-tabs-pane:has(.split-workbench) .split-workbench{flex:auto;min-height:0;overflow:visible}.workbench-tabs-pane:has(.split-workbench) .split-workbench:not(.iam-directory-workspace--single){grid-template-rows:minmax(0,1fr)}.workbench-tabs-pane:has(.split-workbench) .split-workbench>*{min-width:0;min-height:0;overflow:auto}.shell-main--flush{padding:0}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;display:flex}.list-toolbar{margin-bottom:8px}.filter-bar .list-toolbar{margin-bottom:0}.pager{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.pager-prev,.pager-next{border-radius:var(--radius-sm);min-height:40px;font:inherit;cursor:pointer;padding:0 16px}.pager-prev{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.pager-next{background:var(--color-primary);color:#fff;border:0}.pager-next:hover:not(:disabled){background:var(--color-primary-pressed)}.pager-prev:disabled,.pager-next:disabled{cursor:not-allowed;opacity:.45}.drawer-footer{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.drawer-footer.has-extra{justify-content:space-between}.drawer-footer-actions{flex-shrink:0;gap:8px;display:flex}.edit-form{max-width:720px}.input-short{max-width:280px}.sticky-actions{background:var(--color-bg);justify-content:flex-end;align-items:center;gap:8px;padding:16px 0 8px;display:flex;position:sticky;bottom:0}.sticky-actions-note{color:var(--color-text-muted);flex:1;margin-right:auto;font-size:13px}.ant-progress-bg{background:var(--color-text)!important}.ant-progress-status-exception .ant-progress-bg{background:var(--color-danger)!important}.ant-btn-primary:not(:disabled):hover,.ant-btn-primary:not(:disabled):active{background:var(--color-primary-pressed)!important}.ant-btn-primary,.ant-btn-default{box-shadow:none!important}.ant-card .ant-card-head.ant-card-head{height:auto;min-height:48px}.ant-card .ant-card-head-title.ant-card-head-title{white-space:normal;text-overflow:unset;overflow:visible}.ant-modal .ant-modal-content{border-radius:var(--radius-md)!important}.ant-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:visible}.ant-table-wrapper .ant-table.ant-table,.ant-table-wrapper .ant-table-container{overflow:visible!important}.surface .surface.surface,.ant-card .surface.surface,.permission-split.is-framed .surface.surface,:is(.surface,.panel,.ant-card,.ant-collapse,.permission-split.is-framed) .ant-table-wrapper.ant-table-wrapper{background:0 0;border-radius:0;box-shadow:none!important;border:0!important}:is(.surface,.panel,.ant-card,.ant-collapse,.permission-split.is-framed) .ant-table-container{border-radius:0;border:0!important}.panel:has(.ant-table){overflow:visible}.panel-body:not(:has(>:not(.surface,.ant-table-wrapper,.pager,.empty-hint))){padding:0}.panel-body:not(:has(>:not(.surface,.ant-table-wrapper,.pager,.empty-hint)))>.pager{margin:0;padding:12px 16px 16px}.surface:has(>.ant-table-wrapper):not(:has(+.pager)) .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-table .ant-btn.ant-btn-sm,.ant-drawer .ant-btn.ant-btn-sm{height:32px;padding-inline:12px;font-size:14px}.surface .empty-hint,.ant-card .empty-hint,.ant-modal .empty-hint,.ant-drawer .empty-hint{background:0 0;border:0}.surface .ant-collapse.ant-collapse,.ant-card .ant-collapse.ant-collapse{box-shadow:none;background:0 0;border:0}@media (width<=960px){.shell--fill{height:auto;overflow:visible}.shell--fill .shell-body.shell-body{overflow:visible}.shell--fill .shell-main.shell-main{height:auto;padding:20px 16px 40px;display:block;overflow:visible}}.shell-header-nav .ant-menu-horizontal>.ant-menu-item .ant-menu-item-icon+.ant-menu-title-content,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu .ant-menu-item-icon+.ant-menu-title-content{margin-inline-start:6px}@media (width<=1600px){.shell-header-nav .ant-menu-horizontal>.ant-menu-item,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu{padding-inline:8px}}@media (width<=1400px){.shell-header-nav .ant-menu-horizontal>.ant-menu-item,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu{padding-inline:6px}}
