:root{color:#1f2328;background:#f6f8fa;font-synthesis:none;--ink: #1f2328;--ink-soft: #3d4654;--muted: #59636e;--subtle: #6e7781;--line: #d8dee4;--line-soft: #eaeef2;--canvas: #f6f8fa;--primary: #3156d9;--primary-strong: #2747bd;--primary-soft: #eef2ff;--mint: #247f63;--warm: #c4553e;--surface: #fff;--sidebar: #172038;--focus: #3156d9;--shadow-sm: 0 1px 2px rgba(31, 35, 40, .06);--shadow: 0 8px 24px rgba(31, 35, 40, .07);--radius-sm: 6px;--radius: 10px;--radius-lg: 12px}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body,#app{min-height:100%;margin:0}body{min-width:320px;background:var(--canvas);color:var(--ink);font:14px/1.5 Inter,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid rgba(49,86,217,.32);outline-offset:2px}.skip-link{position:fixed;z-index:1000;top:10px;left:12px;padding:9px 13px;color:#fff;background:var(--primary-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus{color:#fff;transform:translateY(0)}.app-loading{height:100vh;display:grid;place-content:center;justify-items:center;color:var(--muted);gap:18px}.loading-mark{width:56px;height:56px;border-radius:14px;background:var(--primary);box-shadow:0 10px 24px #3156d938;display:grid;place-items:center;transform:rotate(8deg)}.loading-mark span{width:18px;height:18px;border:3px solid white;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shell{min-height:100vh;background:var(--canvas)}.sidebar{position:fixed!important;inset:0 auto 0 0;z-index:30;overflow:hidden;background:var(--sidebar)!important;border-right:1px solid rgba(255,255,255,.06)}.sidebar+.ant-layout{margin-left:236px;min-width:0;transition:margin-left .2s ease}.ant-layout-sider-collapsed+.ant-layout{margin-left:78px}.brand{width:100%;height:76px;border:0;color:#fff;background:transparent;display:flex;align-items:center;gap:12px;padding:0 20px;text-align:left}.brand:hover{background:#ffffff09}.brand-mark{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:#405bd8;box-shadow:0 5px 14px #050c2542;display:grid;place-items:center;font-size:19px;color:#fff}.brand-copy{display:grid;white-space:nowrap;line-height:1}.brand-copy b{font-size:20px;letter-spacing:.12em}.brand-copy small{margin-top:7px;color:#93a0ba;font-size:9px;letter-spacing:.12em}.workspace-label{margin:12px 24px 7px;color:#7f8da9;font-size:11px;font-weight:600;letter-spacing:.14em}.desktop-nav{display:block}.main-menu{border-inline-end:0!important;color:#b8c2d4!important;background:transparent!important;padding:4px 10px}.main-menu .ant-menu-item{position:relative;height:44px;line-height:44px;margin:3px 0;border-radius:8px}.main-menu .ant-menu-item .anticon{font-size:17px}.main-menu .ant-menu-item:hover{color:#fff!important;background:#ffffff0f!important}.main-menu .ant-menu-item-selected{color:#fff!important;background:#607be833!important;box-shadow:inset 0 0 0 1px #8499f11f}.main-menu .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:11px;width:3px;height:22px;border-radius:0 3px 3px 0;background:#8196f4}.main-menu .ant-menu-item:after{display:none!important}.nav-count{position:absolute;right:13px;top:12px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:#d65b44;color:#fff;font-size:11px;line-height:1}.sidebar-foot{position:absolute;left:14px;right:14px;bottom:18px;min-height:64px;padding:12px;display:flex;align-items:center;gap:11px;color:#e7ebf3;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;border-radius:10px}.sidebar-foot.compact{left:12px;right:12px;justify-content:center}.sidebar-foot b,.sidebar-foot span{display:block;white-space:nowrap}.sidebar-foot b{font-size:12px}.sidebar-foot span{margin-top:3px;color:#95a2ba;font-size:11px}.online-dot{width:9px;height:9px;flex:none;background:#45b98e;border-radius:50%;box-shadow:0 0 0 4px #45b98e1f}.online-dot.offline{background:#dd7b60;box-shadow:0 0 0 4px #dd7b601f}.topbar{position:sticky;top:0;z-index:20;height:64px!important;padding:0 32px!important;display:flex;align-items:center;justify-content:space-between;background:#fffffff5!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);line-height:normal!important}.topbar-left,.top-actions,.user-card{display:flex;align-items:center}.collapse-button{width:40px;height:40px;margin-right:14px;color:var(--muted);font-size:18px}.crumb{display:flex;align-items:center;gap:9px;color:var(--subtle);font-size:13px}.crumb i{font-style:normal;color:#afb8c1}.crumb b{color:var(--ink-soft);font-weight:600}.mobile-logo{display:none;align-items:center;gap:8px}.top-actions{gap:16px}.sync-chip{min-height:36px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--muted);font-size:12px}.sync-chip:hover{color:var(--primary);border-color:#b7c3f1;background:var(--primary-soft)}.sync-chip.active{color:var(--primary-strong);border-color:#c6d0f6;background:var(--primary-soft)}.user-card{gap:10px}.avatar{background:#405bd8!important}.user-copy{display:grid;line-height:1.2}.user-copy b{color:var(--ink-soft);font-size:13px}.user-copy small{margin-top:4px;color:var(--subtle);font-size:11px}.content{min-height:calc(100vh - 64px);padding:28px 32px 48px;background:var(--canvas)}.content:focus:not(:focus-visible){outline:none}.content:focus-visible{outline:3px solid rgba(49,86,217,.32);outline-offset:-3px}.page{width:min(1440px,100%);margin:0 auto}.page-header{min-height:68px;margin-bottom:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.page-header h1{margin:2px 0 6px;color:var(--ink);font-size:clamp(25px,2vw,30px);font-weight:700;letter-spacing:-.025em}.page-header p{margin:0;color:var(--muted);font-size:13px}.eyebrow{color:var(--primary-strong);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.page-actions{display:flex;align-items:center;gap:9px;padding-top:10px}.surface{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section-title{margin:0;font-size:16px;font-weight:650}.section-subtitle{color:var(--muted);font-size:12px}.status-tag{margin-inline-end:0!important;padding-inline:9px!important;border-radius:12px!important;line-height:22px!important}.empty-dash{color:#c4cad5}.mobile-nav{display:none}.ant-btn{box-shadow:none}.ant-btn-primary{box-shadow:0 3px 8px #3156d929}.ant-btn-primary:hover{box-shadow:0 4px 10px #3156d933}.ant-table-wrapper .ant-table{color:var(--ink-soft);font-size:13px}.ant-table-wrapper .ant-table-thead>tr>th{background:#f6f8fa;color:var(--muted);font-size:12px;font-weight:600;border-bottom-color:var(--line-soft)}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom-color:var(--line-soft)}.ant-form-item-label>label{color:var(--ink-soft)!important;font-size:13px!important}@media(max-width:1199px){.content{padding-inline:24px}}@media(max-width:991px){.sidebar{display:none}.sidebar+.ant-layout,.ant-layout-sider-collapsed+.ant-layout{margin-left:0}.topbar{height:60px!important;padding:0 16px!important}.collapse-button,.crumb{display:none}.mobile-logo{display:flex}.mobile-logo .brand-mark{width:32px;height:32px;border-radius:8px;font-size:16px}.mobile-logo b{font-size:18px;letter-spacing:.08em}.user-copy{display:none}.top-actions{gap:9px}.sync-chip .sync-label{display:none}.sync-chip{width:44px;min-height:44px;padding:0;justify-content:center}.content{min-height:calc(100vh - 60px);padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;min-height:calc(70px + env(safe-area-inset-bottom));padding:7px 12px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;background:#fffffff7;border-top:1px solid var(--line-soft);box-shadow:0 -4px 16px #1f23280f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{min-width:44px;height:54px;padding:5px 0;border:0;border-radius:8px;background:transparent;color:var(--subtle);display:grid;justify-items:center;align-content:center;gap:3px;font-size:11px}.mobile-nav button>.anticon{font-size:19px}.mobile-nav button.current{color:var(--primary-strong);background:var(--primary-soft)}.mobile-nav .scan-entry{position:relative;top:-9px;color:var(--ink-soft);background:transparent}.mobile-nav .scan-entry>span{width:48px;height:48px;margin-bottom:1px;display:grid;place-items:center;color:#fff;background:var(--primary);border-radius:14px;box-shadow:0 7px 16px #3156d93d;font-size:21px}.mobile-nav .scan-entry b{font-weight:600}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.more-grid button{min-height:88px;border:1px solid var(--line);border-radius:10px;background:#f6f8fa;color:var(--ink-soft);display:grid;place-items:center;align-content:center;gap:8px}.more-grid .anticon{color:var(--primary);font-size:22px}.page-header{margin-bottom:18px}.page-header h1{font-size:24px}.page-header p{max-width:70vw}.page-actions .ant-btn{min-width:44px;min-height:44px}}@media(max-width:600px){.page-header{align-items:flex-end;gap:12px}.page-header p{max-width:62vw;font-size:12px}.page-actions{flex-shrink:0}.page-actions .action-label{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.public-test-banner[data-v-fd0b668d]{padding:6px 12px;color:#8a4b08;background:#fff7e6;border-bottom:1px solid #ffd591;font-size:12px;line-height:20px;text-align:center}
