*{box-sizing:border-box}body{color:#111827;background:#f5f7fb;margin:0}.app-shell{background:#f5f7fb;min-height:100vh}.app-sider{border-right:1px solid #e5e7eb}.brand{align-items:center;gap:12px;min-height:74px;padding:18px 18px 14px;display:flex}.brand-collapsed{justify-content:center;padding:18px 12px 14px}.brand-mark{color:#fff;background:#0f172a;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.brand-title{margin:0;line-height:1.2}.app-menu{border-inline-end:none}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:58px;padding-inline:22px;display:flex}.header-left{align-items:center;gap:10px;min-width:0;display:flex}.header-title{white-space:nowrap;flex:none}.header-actions{align-items:center;gap:10px;min-width:0;display:flex}.header-role-list{align-items:center;gap:6px;min-width:0;max-width:min(42vw,520px);display:flex;overflow-x:auto}.header-role-tag{flex:none;margin-inline-end:0}.header-mode-tag{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:min(40vw,480px);margin-inline-end:0;font-weight:600;overflow:hidden}.header-principal-copy{flex:none}.header-display-name-edit{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;max-width:180px;overflow:hidden}.app-content{min-width:0;padding:22px}.page-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-title{margin:0}.page-subtitle{margin:4px 0 0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.source-notice{margin-bottom:14px}.metric-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.content-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.6fr);gap:16px;display:grid}.panel-card{margin-bottom:16px}.table-card .ant-card-body{padding:0}.table-card .ant-table-wrapper{border-radius:0 0 8px 8px;overflow:hidden}.json-block{color:#0f172a;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-height:280px;margin:8px 0 0;padding:10px 12px;font-size:12px;line-height:1.55;overflow:auto}.rule-result-list{width:100%}.rule-result{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px}.rule-detail-summary{margin-top:8px}.log-linked-row-change{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px}.mono-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.status-line{align-items:center;gap:8px;display:flex}.route-loading,.login-shell{background:#f5f7fb;place-items:center;min-height:100vh;display:grid}.login-card{width:min(430px,100vw - 32px)}.no-permission-shell{padding:24px}.no-permission-shell .ant-result{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(520px,100vw - 32px);padding:36px 24px}.no-permission-principal{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}@media (width<=1180px){.metric-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.content-grid{grid-template-columns:1fr}}@media (width<=760px){.app-content{padding:14px}.page-heading{flex-direction:column}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{padding-inline:12px}}@media (width<=520px){.metric-grid{grid-template-columns:1fr}}
