:root{--page-bg: #f5f5f5;--content-bg: #ffffff;--hairline: #f0f0f0;--text: #1f1f1f;--text-secondary: #8c8c8c;--brand-primary: #1677ff;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--header-h: 48px;--tabbar-h: 56px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;overscroll-behavior:none;background:var(--page-bg);color:var(--text);font-family:Source Han Sans SC,思源黑体,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none;-webkit-text-size-adjust:100%}.app-shell{display:flex;flex-direction:row;height:var(--app-vh, 100dvh);max-height:var(--app-vh, 100dvh);overflow:hidden}.app-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}.app-brand{height:var(--header-h);display:flex;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;border-bottom:1px solid var(--hairline);color:var(--text)}.app-sider{flex:0 0 auto;border-right:1px solid var(--hairline);height:var(--app-vh, 100dvh)}.app-sider .ant-menu{border-inline-end:none!important;padding-top:4px}.app-sider .ant-menu-item-group-title{font-size:11px;letter-spacing:.04em;color:var(--text-secondary);padding-top:10px;padding-bottom:4px}.app-header{display:flex;align-items:center;gap:12px;flex:0 0 auto;height:var(--header-h);padding:0 16px;background:var(--content-bg);border-bottom:1px solid var(--hairline);min-width:0}.app-header__spacer{flex:1 1 auto;min-width:0}.app-header__actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.page-header{flex:0 0 auto;background:var(--content-bg);border-bottom:1px solid var(--hairline);padding:10px 24px}.page-header__title{margin:0!important;font-size:20px!important;line-height:32px!important}.page-body{padding:16px 24px 24px}.app-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.surface{background:var(--content-bg);border:1px solid var(--hairline);border-radius:8px}.hairline-bottom{border-bottom:1px solid var(--hairline)}.text-secondary{color:var(--text-secondary)}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.muted{color:var(--text-secondary);font-size:12px}.stack{display:flex;flex-direction:column;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.nowrap-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rt-cards{display:flex;flex-direction:column;gap:8px}.rt-card .ant-card-head{min-height:0;padding:0 12px;border-bottom:1px solid var(--hairline)}.rt-card .ant-card-head-title{padding:10px 0;font-size:14px}.rt-card .ant-card-body{padding:10px 12px}.rt-card-title{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600}.rt-sub{color:var(--text-secondary);font-weight:400;font-size:12px}.rt-fields{display:grid;grid-template-columns:1fr;gap:6px 16px}.rt-field{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:13px}.rt-label{flex:0 0 auto;color:var(--text-secondary);font-size:12px}.rt-value{flex:1 1 auto;min-width:0;word-break:break-word}.rt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--hairline)}.rt-pager{display:flex;justify-content:flex-end;padding-top:10px}.rt-table-title{display:flex;justify-content:flex-end;padding-bottom:8px}.app-tabbar{display:flex;align-items:stretch;flex:0 0 auto;border-top:1px solid var(--hairline);background:var(--content-bg);padding-bottom:var(--sab);padding-left:var(--sal);padding-right:var(--sar)}.app-tabbar__item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--tabbar-h);font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;border:none;background:transparent;color:var(--text-secondary);padding:0}.app-tabbar__item--active{font-weight:600}.app-tabbar__icon{font-size:18px;line-height:1}.login-wrap{height:var(--app-vh, 100dvh);display:grid;place-items:center;padding:24px;overflow-y:auto;overscroll-behavior:contain}.login-card{width:100%;max-width:380px}.md-body{font-size:14px;line-height:1.7;color:var(--text);word-break:break-word}.md-body h1{font-size:20px;margin:0 0 12px}.md-body h2{font-size:17px;margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--hairline)}.md-body h3{font-size:15px;margin:16px 0 8px}.md-body blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--brand-primary);background:#1677ff0d;color:#000000bf;font-size:13px}.md-body ul{padding-left:20px;margin:6px 0}.md-body li{margin:4px 0}.md-body a{color:var(--brand-primary);font-weight:500}.md-body hr{border:none;border-top:1px solid var(--hairline);margin:20px 0}.md-body table{border-collapse:collapse;width:100%;font-size:13px;display:block;overflow-x:auto}.md-body th,.md-body td{border:1px solid var(--hairline);padding:6px 8px;text-align:left}.md-body sub{color:var(--text-secondary);font-size:11px}@media (min-width: 576px){.rt-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.rt-label{flex-basis:104px}}@media (min-width: 1200px){.rt-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 767px){.page-body{padding:10px 10px 16px}.page-header{padding:8px 10px}.page-header__title{font-size:17px!important}.app-header{height:auto;min-height:var(--header-h);padding-top:var(--sat);padding-left:calc(8px + var(--sal));padding-right:calc(8px + var(--sar));gap:8px}.login-wrap{padding-top:calc(24px + var(--sat));padding-bottom:calc(24px + var(--sab))}.rt-card .ant-card-body{padding:9px 10px}.ant-table-wrapper{overflow-x:auto}}@media (pointer: coarse){.ant-input,.ant-input-affix-wrapper input,.ant-select-selector,.ant-input-number-input,.ant-picker input,textarea.ant-input,.ant-input-password input{font-size:16px!important}.ant-btn{min-height:32px}}.no-callout{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.only-mobile{display:none}@media (max-width: 767px){.only-desktop{display:none!important}.only-mobile{display:initial}}
