:root{--bg:#f6f7f9;--panel:#fff;--border:#d8dce3;--text:#1f2430;--muted:#6b7280;--accent:#2f6fed;--danger-bg:#fdecec;--danger-border:#f0b4b4;--danger-text:#8a1f1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--shell-sider-bg:#101d33;--shell-sider-line:#ffffff14;--shell-sider-title:#fff;--shell-sider-muted:#ffffff73;--shell-header-bg:#fff;--shell-content-max:1440px;--shell-gutter:24px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 -apple-system,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}button:not(.ant-btn){border:1px solid var(--border);background:var(--panel);color:inherit;font:inherit;cursor:pointer;border-radius:6px;padding:6px 14px}button[type=submit]:not(.ant-btn){border-color:var(--accent);background:var(--accent);color:#fff}button:disabled{opacity:.6;cursor:default}a{color:var(--accent)}.loading,.muted{color:var(--muted)}.page h1{font-size:20px}.shell{min-height:100vh}.shell-sider{background:var(--shell-sider-bg);border-inline-end:0}.shell .shell-sider{height:100vh;position:sticky;top:0;overflow:auto}.shell-sider .ant-layout-sider-children{flex-direction:column;display:flex}.shell-brand{border-bottom:1px solid var(--shell-sider-line);align-items:center;gap:10px;padding:16px 16px 14px;display:flex}.shell-brand-mark{background:var(--accent);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:inline-flex}.shell-brand-text{flex-direction:column;gap:2px;min-width:0;display:flex}.shell-brand-name.ant-typography{color:var(--shell-sider-title);font-size:15px;line-height:1.3}.shell-brand-sub.ant-typography{color:var(--shell-sider-muted);font-size:12px;line-height:1.4}.shell-sider.ant-layout-sider-collapsed .shell-brand{justify-content:center;padding-inline:0}.shell-sider.ant-layout-sider-collapsed .shell-brand-text{display:none}.shell-sider .ant-menu{background:0 0;border-inline-end:0;flex:1;padding-bottom:56px;overflow:auto}.shell-sider .ant-menu a{color:inherit}.shell-header{z-index:10;padding:0 var(--shell-gutter);border-bottom:1px solid var(--border);background:var(--shell-header-bg);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.shell .shell-header{padding:0 var(--shell-gutter)}.shell-title{white-space:nowrap;font-size:16px;font-weight:600}.shell-user{align-items:center;gap:12px;min-width:0;display:flex}.shell-user-meta{flex-direction:column;align-items:flex-end;min-width:0;line-height:1.25;display:flex}.shell-user-label{color:var(--muted);font-size:12px}.shell-email{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--text);font-size:14px;overflow:hidden}.shell-main{padding:var(--shell-gutter)}.shell-main-inner{max-width:var(--shell-content-max);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-header-main{min-width:0}.page-header-title,.page-header-title.ant-typography{font-size:22px;line-height:1.35;margin:0 0 6px!important}.page-header-desc,.page-header-desc.ant-typography{font-size:14px;margin-bottom:0!important}.page-header-extra{flex:none;align-items:center;gap:8px;display:flex}.state{flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.state .notice,.state-error .ant-alert{width:100%}.state-empty-action{margin-top:8px}.login{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:100%;max-width:380px}.boundary{max-width:640px;margin:10vh auto;padding:24px}.notice{border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.notice-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.notice-title{margin:0;font-weight:600}.notice-detail,.notice-reason{margin:4px 0 0;font-size:13px}.boundary{border:1px solid var(--danger-border);background:var(--panel);border-radius:10px;max-width:640px;margin:10vh auto;padding:24px}.boundary-stack{background:var(--bg);border-radius:6px;max-height:240px;padding:10px;font-size:12px;overflow:auto}.page h2.section-title,.panel h3.section-title{margin:12px 0 6px;font-size:15px}.panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin:12px 0;padding:12px 14px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;display:grid}.field{color:var(--muted);flex-direction:column;gap:4px;margin:4px 0;font-size:13px;display:flex}.field input,.field select,.field textarea,.inline-form input,.inline-form select{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--panel);border-radius:6px;padding:6px 9px}.field-hint{font-size:12px}.field-error{color:var(--danger-text);font-size:12px}.form-actions,.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:8px 0;display:flex}.inline-form .field{margin:0}.flash{color:#1f6f3f;font-size:13px}.table{border-collapse:collapse;background:var(--panel);width:100%;font-size:13px}.table th,.table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}.table th{background:var(--bg);font-weight:600}.row-actions{white-space:nowrap}.row-actions button{margin-right:4px}.row-warn td{background:#fff8e6}.row-detail{background:#fbfcfe}.badge{border:1px solid var(--border);border-radius:999px;padding:1px 6px;font-size:12px;display:inline-block}.badge-ok{color:#1f6f3f;background:#e7f6ec;border-color:#a8dcbb}.badge-off{background:var(--bg);color:var(--muted)}.badge-warn{color:#7a5a10;background:#fff3d6;border-color:#e8c76a}.badge-bad{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.tag-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:center;gap:4px;margin-right:4px;padding:1px 6px;font-size:12px;display:inline-flex}.tag-off{opacity:.65}.checkbox{align-items:center;gap:6px;font-size:13px;display:inline-flex}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px;display:grid}.order-list{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin:6px 0;padding:0;list-style:none}.order-item{border-bottom:1px solid var(--border);cursor:grab;align-items:center;gap:10px;padding:6px 10px;display:flex}.order-item:last-child{border-bottom:none}.order-over{background:#eef4ff}.order-handle{color:var(--muted)}.order-position{width:20px;color:var(--muted);font-size:12px}.order-label{flex:1}.order-actions button{padding:2px 8px}.schema-group{border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:8px 12px}.schema-group legend{color:var(--muted);padding:0 6px;font-size:13px}.notice-once{background:#fff8e6;border:1px solid #e8c76a}.secret{-webkit-user-select:all;user-select:all;word-break:break-all;font-size:14px}.overview-row{margin-top:16px}.overview-note{margin-bottom:16px!important}.overview-hint{font-size:12px;display:block}.overview-tags{margin:12px 0 4px}.pending-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pending-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.pending-item .ant-tag{margin-inline-end:0}.pending-count{font-size:14px;font-weight:600}.pending-go{margin-left:auto}.chart-figure{margin:0}.chart-caption{color:var(--muted);margin:0 0 8px;font-size:12px}.page-card{margin-bottom:16px}.page-toolbar{margin-bottom:12px}.page-block{margin-top:12px}.page-hint{margin-top:8px!important}.detail-json{white-space:pre-wrap;word-break:break-all;max-height:320px;margin:0;font-size:12px;overflow:auto}@media (width<=1200px){:root{--shell-content-max:none}}@media (width<=992px){.shell-title{display:none}}@media (width<=768px){:root{--shell-gutter:12px}.shell-user-label{display:none}.shell-email{max-width:160px}.page-header{flex-direction:column;align-items:stretch}.page-header-extra{flex-wrap:wrap}}@media (width<=480px){.shell-user{gap:8px}.shell-email{max-width:120px}}
