:root{--page-bg:#f0f2f5;--page-bg-soft:#e6f4ff;--panel-bg:#ffffffe6;--panel-strong:#fff;--panel-line:#0f172a14;--text-main:#172033;--text-subtle:#5f6b7c;--brand:#1677ff;--brand-deep:#0958d9;--accent:#60a5fa;--shadow-soft:0 18px 60px #1677ff14;--shadow-strong:0 24px 70px #0f172a1f;--topbar-h:56px;color:var(--text-main);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top left, #1677ff2e, transparent 32%), radial-gradient(circle at top right, #0958d91a, transparent 24%), linear-gradient(180deg, var(--page-bg) 0%, var(--page-bg-soft) 100%);margin:0}a{color:inherit}#root{min-height:100vh}.app-shell{background:0 0;min-height:100vh}.dash-sider{border-inline-end:1px solid #ffffff0f;background:linear-gradient(#001529 0%,#001d33 100%)!important}.dash-sider .ant-layout-sider-children{flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.dash-brand{text-align:center;border-bottom:1px solid #ffffff14}.dash-brand-name{color:#f8fafc;letter-spacing:-.03em;padding:15px;font-size:20px;font-weight:700}.dash-brand-icon{color:#f8fafc;text-align:center;padding:18px 0;font-size:22px;font-weight:700}.dash-menu{flex:1;padding:8px;background:0 0!important}.dash-menu .ant-menu-item-selected{background:linear-gradient(135deg,#1677ff,#0958d9)!important;border-radius:10px!important}.dash-menu .ant-menu-item{border-radius:10px!important;margin:2px 0!important}.dash-menu .ant-menu-item:hover{color:#fff!important}.dash-menu .ant-menu-item-group-title{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#f8fafc66!important;padding-left:16px!important}.dash-nav-panel{flex-direction:column;height:100%;display:flex}.dash-main{background:0 0;min-height:100vh}.dash-topbar{z-index:50;height:var(--topbar-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--panel-line);background:#ffffffd9;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.dash-topbar-left{align-items:center;gap:12px;display:flex}.dash-topbar-right{align-items:center;gap:16px;display:flex}.dash-trigger-btn{justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.dash-mobile-btn{display:none!important}.dash-breadcrumb{font-size:14px}.dash-user-info{align-items:center;gap:10px;display:flex}.dash-user-meta{flex-direction:column;line-height:1.3;display:flex}.dash-user-name{font-size:14px;font-weight:600}.dash-user-role{color:var(--text-subtle);font-size:12px}.dash-logout-btn{color:var(--text-subtle)}.dash-content{min-height:calc(100vh - var(--topbar-h));padding:24px}.dash-drawer .ant-drawer-header{border-bottom:1px solid #ffffff14}.dash-drawer .ant-drawer-close{color:#fffc}.page-grid{gap:20px;width:100%;display:grid}.page-grid-narrow{max-width:760px;margin-inline:auto}.page-section{border:1px solid var(--panel-line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-radius:20px;padding:clamp(16px,3vw,24px);overflow:hidden}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.section-title{letter-spacing:-.03em;margin:0;font-size:22px}.section-desc{color:var(--text-subtle);margin:4px 0 0;font-size:14px}.section-actions{flex-wrap:wrap;gap:10px;display:flex}.page-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-toolbar-primary{justify-content:space-between;width:100%}.page-toolbar-search{flex:220px}.page-toolbar-search .ant-form-item-control{min-width:0}.page-toolbar .ant-form-item{flex:0 auto;margin-bottom:0}.toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;background:#ffffffb8;border:1px solid #0f172a0f;border-radius:16px;width:100%;margin-top:14px;overflow-x:auto}.table-wrap .ant-table{background:0 0;min-width:600px}.inline-note{color:var(--text-subtle);font-size:13px}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.metric-card{background:linear-gradient(135deg,#e6f4ffa6,#ffffffd6);border:1px solid #1677ff24;border-radius:16px;padding:16px 18px}.metric-label{color:var(--text-subtle);margin:0 0 6px;font-size:13px}.metric-value{letter-spacing:-.04em;margin:0;font-size:26px;font-weight:700}.muted-block{color:var(--text-subtle);background:#1677ff0f;border-radius:14px;padding:14px 16px;font-size:14px}.filter-collapse{background:linear-gradient(135deg,#e6f4ff80,#ffffffb3);border:1px solid #1677ff1a;border-radius:16px;width:100%;margin:4px 0 0;overflow:hidden}.filter-collapse .ant-collapse-header{align-items:center!important;padding:12px 16px!important}.filter-collapse .ant-collapse-content-box{padding:0 16px 16px!important}.compact-filter-collapse{margin-top:0}.filter-toolbar-secondary{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.dense-form .ant-form-item{margin-bottom:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.login-page{grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr);gap:24px;min-height:100vh;padding:32px;display:grid}.login-showcase,.login-panel{border-radius:32px;position:relative;overflow:hidden}.login-showcase{color:#f8fafc;min-height:560px;box-shadow:var(--shadow-strong);background:radial-gradient(circle at 20% 20%,#1677ff52,#0000 26%),radial-gradient(circle at 85% 30%,#60a5fa33,#0000 22%),linear-gradient(145deg,#001529 0%,#002140 35%,#001529 100%);padding:36px}.login-panel{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #0f172a14;justify-content:center;align-items:center;padding:24px;display:flex}.login-card{width:min(420px,100%);padding:14px}.login-kicker{color:#bae0ff;text-transform:uppercase;letter-spacing:.08em;background:#ffffff24;border-radius:999px;padding:5px 12px;font-size:12px;display:inline-flex}.login-title{letter-spacing:-.07em;margin:18px 0 12px;font-size:clamp(40px,5vw,72px);line-height:.95}.login-copy{color:#f8fafcc7;max-width:520px;font-size:16px}.login-points{gap:12px;margin-top:28px;display:grid}.login-point{background:#ffffff14;border:1px solid #ffffff14;border-radius:20px;grid-template-columns:44px 1fr;align-items:start;gap:14px;padding:16px;display:grid}.login-point-index{color:#bae0ff;background:#ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:inline-flex}.login-form-title{letter-spacing:-.05em;margin:0;font-size:28px}.login-form-subtitle{color:var(--text-subtle);margin:8px 0 0}@media (width<=1200px){.dash-sider:not(.ant-layout-sider-collapsed){width:220px!important;min-width:220px!important;max-width:220px!important}}@media (width<=992px){.dash-sider,.dash-trigger-btn{display:none!important}.dash-mobile-btn{justify-content:center;align-items:center;display:flex!important}.dash-topbar{padding:0 16px}.dash-content{padding:16px}}@media (width<=768px){.login-page{grid-template-columns:1fr;padding:20px}.login-showcase{min-height:320px;padding:28px}.dash-user-role,.dash-logout-btn span:last-child{display:none}.section-header{flex-direction:column}.section-title{font-size:20px}.page-section{border-radius:16px;padding:16px}.form-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.page-toolbar .ant-form-item{flex:100%;width:100%}.page-toolbar .ant-form-item-control,.page-toolbar .ant-input,.page-toolbar .ant-select{width:100%!important}}@media (width<=540px){.metric-strip{grid-template-columns:1fr}.dash-topbar{padding:0 12px}.dash-content{padding:12px}.table-wrap{border-radius:12px}}.api-convention-list{color:var(--text-subtle);gap:8px;margin:0;padding-left:20px;font-size:14px;line-height:1.7;display:grid}.api-endpoint-list{gap:16px;display:grid}.api-endpoint{border:1px solid var(--panel-line);background:#fff9;border-radius:14px;padding:16px}.api-endpoint-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.api-method-tag{font-weight:600;font-family:var(--font-mono,monospace)}.api-path{font-size:14px}.api-endpoint-title{font-size:15px;font-weight:600}.api-endpoint-desc{font-size:13px;margin:4px 0 12px!important}.api-field-label{color:var(--text-subtle);margin:12px 0 6px;font-size:13px;font-weight:600}.api-returns{white-space:pre-wrap;word-break:break-word;display:inline-block}
