*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{color:#000000e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5714}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}img,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#0000002e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000047}::-webkit-scrollbar-track{background:0 0}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.brand__logo{flex-shrink:0;width:32px;height:32px}.brand__texts{flex-direction:column;justify-content:center;line-height:1;display:flex}.brand__name{letter-spacing:2px;white-space:nowrap;font-size:15px;font-weight:700;line-height:1}.brand__code{letter-spacing:.5px;color:#00000073;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:500}.admin-layout{min-height:100dvh}.admin-sider{border-right:1px solid #eef0f3;height:100dvh;position:sticky;top:0;overflow:hidden auto;background:#fff!important}.admin-sider>.ant-layout-sider-children{flex-direction:column;height:100%;display:flex}.admin-sider-menu{flex:1;min-height:0;overflow-y:auto}.admin-sider-collapse{border-top:1px solid #eef0f3;padding:8px}.admin-sider-collapse .ant-btn{color:#0000008c;width:100%}.admin-sider-collapse .ant-btn:hover{color:#1677ff;background:#1677ff0f}.admin-sider-brand{border-bottom:1px solid #eef0f3;align-items:center;height:64px;padding:0 18px;display:flex}.admin-sider .ant-menu,.admin-drawer .ant-menu{padding:8px;border-inline-end:0!important}.admin-sider .ant-menu-item,.admin-sider .ant-menu-submenu-title,.admin-drawer .ant-menu-item,.admin-drawer .ant-menu-submenu-title{border-radius:8px;transition:background .2s,color .2s;margin:2px 0!important}.admin-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;height:64px;line-height:normal;display:flex;position:sticky;top:0;background:#ffffffeb!important;padding:0 24px!important}.admin-header-left{align-items:center;gap:12px;min-width:0;display:flex}.admin-header-title{color:#000000e0;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;line-height:1.3;overflow:hidden}.admin-header-right{align-items:center;gap:8px;display:flex}.admin-user-trigger{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:5px 12px 5px 6px;transition:background .2s;display:flex}.admin-user-trigger:hover{background:#0000000b}.admin-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:500;overflow:hidden}.admin-content{min-width:0;padding:24px}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-table-card{background:#fff;border:1px solid #eef0f3;border-radius:10px;overflow:hidden}.admin-table-card .ant-table-wrapper .ant-table{border-radius:0}.admin-table-card .ant-table-thead>tr>th{font-size:13px;font-weight:600;background:#fafbfc!important}.admin-table-card .ant-table-tbody>tr{transition:background .15s}.admin-form-card{background:#fff;border:1px solid #eef0f3;border-radius:10px;max-width:520px;padding:24px}.status-page{background:radial-gradient(60% 45% at 50% 0,#1677ff12 0%,#0000 65%),#f5f7fa;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.status-page .ant-result{animation:.5s both float-in}@keyframes float-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.toast-stack{z-index:1010;flex-direction:column;gap:8px;max-width:400px;display:flex;position:fixed;top:16px;right:16px}.toast{color:#fff;border-radius:8px;padding:12px 16px;animation:.25s ease-out toast-in;box-shadow:0 6px 20px #0000001f}.toast--auth{background:#cf1322}.toast--permission{background:#d4380d}.toast--validation{background:#d48806}.toast--business{background:#1677ff}.toast--server{background:#531dab}.toast--network{background:#595959}.toast__header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.toast__title{font-size:13px;font-weight:600}.toast__close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.toast__close:hover{opacity:1}.toast__body{opacity:.9;margin:0;font-size:12px}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.echarts-for-react{width:100%!important}.admin-drawer .ant-drawer-body{flex-direction:column;display:flex;overflow:hidden}.admin-drawer-brand{border-bottom:1px solid #eef0f3;flex:none;justify-content:space-between;align-items:center;height:64px;padding:0 8px 0 18px;display:flex}.admin-drawer-menu{flex:1;min-height:0;overflow-y:auto}.admin-menu-group-count{opacity:.45;margin-left:6px;font-size:12px}.ck-page{--ck-radius:12px;--ck-border:#eaeef3;--ck-shadow:0 1px 3px #0f22430d;--ck-label:#00000080;--ck-text:#000000e0;min-width:0}.ck-toolbar{border:1px solid var(--ck-border);border-radius:var(--ck-radius);box-shadow:var(--ck-shadow);background:#fff;flex-direction:column;gap:10px;margin-bottom:2px;padding:12px 16px;display:flex}.ck-toolbar__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}.ck-toolbar__group{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.ck-toolbar__label{color:var(--ck-label);font-size:13px}.ck-tabs{background:#fff;border:1px solid #d9d9d9;border-radius:8px;flex-wrap:nowrap;max-width:100%;display:inline-flex;position:relative;overflow:hidden}.ck-tabs__item{height:30px;color:var(--ck-text);white-space:nowrap;cursor:pointer;background:#fff;border:none;border-left:1px solid #d9d9d9;justify-content:center;align-items:center;padding:0 12px;font-size:13px;line-height:1;transition:color .16s,background .16s;display:inline-flex}.ck-tabs__item:first-child{border-left:none}.ck-tabs__item:hover{color:#1677ff;background:#1677ff0a}.ck-tabs__item--on,.ck-tabs__item--on:hover{color:#1677ff;background:#fff;font-weight:600}.ck-tabs__bar{pointer-events:none;background:#1677ff;height:2px;transition:left .26s cubic-bezier(.4,0,.2,1),width .26s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0}.ck-tabs--block{background:#1677ff0f;border:none;border-radius:8px;padding:2px;overflow:visible}.ck-tabs--block .ck-tabs__item{z-index:1;background:0 0;border:none;border-radius:0;height:28px;padding:0 12px;position:relative}.ck-tabs--block .ck-tabs__item:hover{color:#1677ff;background:0 0}.ck-tabs--block .ck-tabs__item--on,.ck-tabs--block .ck-tabs__item--on:hover{color:#fff;background:0 0}.ck-tabs__thumb{pointer-events:none;background:#1677ff;border-radius:0;transition:left .26s cubic-bezier(.4,0,.2,1),width .26s cubic-bezier(.4,0,.2,1),top .26s cubic-bezier(.4,0,.2,1),height .26s cubic-bezier(.4,0,.2,1);position:absolute;box-shadow:0 1px 3px #1677ff4d}.ck-tabs__thumb--first{border-top-left-radius:6px;border-bottom-left-radius:6px}.ck-tabs__thumb--last{border-top-right-radius:6px;border-bottom-right-radius:6px}.ck-toolbar__group--pickers{flex:none}.ck-picker{display:inline-flex;position:relative}.ck-picker__trigger{color:#1677ff;cursor:pointer;background:#1677ff14;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;font-weight:500;line-height:1;transition:background .16s,color .16s;display:inline-flex}.ck-picker__trigger:hover,.ck-picker--open .ck-picker__trigger{color:#0958d9;background:#1677ff29}.ck-picker__value{white-space:nowrap}.ck-picker__caret{opacity:.75;flex:none;transition:transform .16s}.ck-picker--open .ck-picker__caret{transform:rotate(180deg)}.ck-picker__panel{z-index:1050;border:1px solid var(--ck-border);background:#fff;border-radius:12px;padding:8px;animation:.14s ease-out ck-pop;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0f172a21}@keyframes ck-pop{0%{opacity:0;transform:translateY(-4px)}}.ck-period{gap:6px;display:flex}.ck-period__years{border-right:1px solid #f0f0f0;width:84px;padding-right:6px}.ck-period__year,.ck-period__yitem{height:30px;color:var(--ck-text);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:flex}.ck-period__year:hover,.ck-period__yitem:hover{background:#0000000b}.ck-period__year--active,.ck-period__yitem--active{color:#1677ff;background:#1677ff14;font-weight:600}.ck-period__arrow{color:#0000004d;font-weight:400}.ck-period__grid{grid-template-columns:repeat(3,56px);gap:2px;display:grid}.ck-period__month{height:30px;color:var(--ck-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.ck-period__month:hover{background:#0000000b}.ck-period__month--active{color:#fff;background:#1677ff;font-weight:600}.ck-period__month--partial:not(.ck-period__month--active):after{content:"";background:#1677ff99;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.ck-period__month--active.ck-period__month--partial:after{background:#ffffffd9}.ck-period__month--off,.ck-period__month--off:hover{color:#00000040;cursor:not-allowed;background:0 0}.ck-period__ylist{min-width:172px}.ck-period__ymeta{color:#00000059;font-size:12px;font-weight:400}.ck-object__filter{width:100%;height:30px;color:var(--ck-text);background:#fafbfc;border:1px solid #f0f0f0;border-radius:6px;outline:none;margin-bottom:4px;padding:0 8px;font-size:13px}.ck-object__filter:focus{background:#fff;border-color:#1677ff66}.ck-object__list{min-width:208px;max-height:264px;overflow-y:auto}.ck-object__item{height:32px;color:var(--ck-text);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:0 8px;font-size:13px;display:flex}.ck-object__item:hover,.ck-object__item--cursor{background:#0000000b}.ck-object__item--active{color:#1677ff;background:#1677ff14;font-weight:600}.ck-object__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ck-object__empty{color:#00000059;padding:10px 8px;font-size:13px}.ck-meta{color:#00000073;flex-wrap:wrap;gap:2px 8px;margin:0 0 2px;padding-left:12px;font-size:12px;line-height:16px;display:flex}.ck-meta__sep{color:#0003}.ck-block{margin-bottom:16px}.ck-row2{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.ck-row2>.ck-block{margin-bottom:0}@media (width>=992px){.ck-row2{grid-template-columns:1fr 1fr}}.ck-row3{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.ck-row3>.ck-block{margin-bottom:0}@media (width>=1200px){.ck-row3{grid-template-columns:1fr 1fr 1fr}}.ck-block.ant-card{border:1px solid var(--ck-border);border-radius:var(--ck-radius);box-shadow:var(--ck-shadow)}.ck-block .ant-card-body{padding:18px 20px}.ck-block__head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.ck-block__pill{border-radius:2px;flex:none;width:4px;height:16px}.ck-block__title{letter-spacing:.2px;color:var(--ck-text);font-size:16px;font-weight:600}.ck-block__hint{color:var(--ck-label);font-size:13px}.ck-amt{flex-direction:column;align-items:flex-end;line-height:1.3;display:flex}.ck-amt__val{font-weight:500}.ck-amt__chg{color:#8c8c8c;white-space:nowrap;gap:10px;font-size:11px;display:flex}.ck-amt__chg b{color:var(--ck-text);font-weight:600}.ck-amt__none{color:#bfbfbf;font-style:normal}.ck-block__extra{margin-left:auto;font-size:13px}.ck-block__actions{align-items:center;gap:10px;margin-left:auto;display:flex}.ck-block__sort-label{color:var(--ck-label);font-size:12px}.ck-thumb{border:1px solid var(--ck-border);object-fit:cover;color:#00000059;background:#f4f6f9;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;display:inline-flex}.ck-kpi{border:1px solid var(--ck-border);border-radius:var(--ck-radius);min-width:0;height:100%;box-shadow:var(--ck-shadow);background:#fff;padding:18px clamp(12px,1.4vw,20px) 16px;position:relative;overflow:hidden}.ck-kpi:before{content:"";background:var(--ck-accent,#1677ff);height:3px;position:absolute;inset:0 0 auto}.ck-kpi__label{color:var(--ck-label);align-items:center;gap:6px;font-size:14px;display:flex}.ck-kpi__info{color:#00000047;font-size:12px}.ck-kpi__badge{margin-inline-end:0;font-size:11px;line-height:16px}.ck-kpi__value{letter-spacing:-.5px;color:var(--ck-text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:clamp(20px,1.6vw + 8px,30px);font-weight:600;line-height:1.15;overflow:hidden}.ck-kpi__meta{color:var(--ck-label);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:13px;display:flex}.ck-funnel{flex-direction:column;display:flex}.ck-funnel__head{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:8px;display:flex}.ck-funnel__name{min-width:108px;color:var(--ck-text);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.ck-funnel__dot{border-radius:3px;flex:none;width:10px;height:10px}.ck-funnel__value{letter-spacing:-.5px;color:var(--ck-text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.ck-funnel__share{color:var(--ck-label);font-size:13px}.ck-funnel__track{background:#f4f6f9;border-radius:6px;height:26px;overflow:hidden}.ck-funnel__bar{height:100%;width:var(--ck-w,100%);clip-path:polygon(0 0,100% 0,97.2% 100%,2.8% 100%);animation:1.35s both ck-funnel-bounce;animation-delay:calc(var(--ck-delay,0s) + .8s);border-radius:5px;transition:width .25s;position:relative;overflow:hidden}.ck-funnel__fill{animation:.8s cubic-bezier(.45,0,.72,.45) both ck-funnel-fill;animation-delay:var(--ck-delay,0s);position:absolute;inset:0;transform:translate(-100%)}@keyframes ck-funnel-fill{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes ck-funnel-bounce{0%{animation-timing-function:cubic-bezier(.1,.7,.3,1);transform:translate(0)}16%{animation-timing-function:cubic-bezier(.6,0,.9,.4);transform:translate(-22px)}34%{animation-timing-function:cubic-bezier(.1,.7,.3,1);transform:translate(0)}50%{animation-timing-function:cubic-bezier(.6,0,.9,.4);transform:translate(-10px)}64%{animation-timing-function:cubic-bezier(.1,.7,.3,1);transform:translate(0)}76%{animation-timing-function:cubic-bezier(.6,0,.9,.4);transform:translate(-4px)}to{transform:translate(0)}}.ck-funnel__liquid{z-index:0;background-image:linear-gradient(90deg, var(--ck-c1,#1677ff) 0%, var(--ck-c2,#69b1ff) 50%, var(--ck-c1,#1677ff) 100%);width:160%;animation:9s ease-in-out infinite ck-funnel-liquid;animation-delay:calc(var(--ck-delay,0s) + 2.15s);position:absolute;top:0;bottom:0;left:-30%}@keyframes ck-funnel-liquid{0%,to{transform:translate(0)}50%{transform:translate(10%)}}.ck-funnel__fill:after{content:"";z-index:2;width:45%;animation:.8s cubic-bezier(.3,0,.7,1) both ck-funnel-streak;animation-delay:var(--ck-delay,0s);background-image:linear-gradient(100deg,#fff0,#ffffff9e,#fff0);position:absolute;top:0;bottom:0;left:-40%}@keyframes ck-funnel-streak{0%{opacity:.95;transform:translate(0)}to{opacity:0;transform:translate(330%)}}.ck-funnel__fill:before{content:"";z-index:1;opacity:0;width:70%;animation:7s ease-in-out infinite ck-funnel-slosh;animation-delay:calc(var(--ck-delay,0s) + 2.15s);background-image:linear-gradient(100deg,#fff0,#ffffff4d,#fff0);position:absolute;top:0;bottom:0;left:15%}@keyframes ck-funnel-slosh{0%,to{opacity:0;transform:translate(-22%)}15%{opacity:.9}50%{opacity:.9;transform:translate(22%)}85%{opacity:.35}}@media (prefers-reduced-motion:reduce){.ck-funnel__bar,.ck-funnel__fill,.ck-funnel__fill:before,.ck-funnel__fill:after,.ck-funnel__liquid{animation:none}.ck-funnel__fill{transform:translate(0)}}.ck-funnel__drop{color:var(--ck-label);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 0 10px 14px;font-size:13px;display:flex}.ck-funnel__drop-arrow{color:#ff7875;font-size:15px;font-weight:700}.ck-funnel__drop-item{align-items:baseline;gap:4px;display:inline-flex}.ck-funnel__drop-item+.ck-funnel__drop-item:before{content:"·";color:#0003;margin-right:6px}.ck-cards{flex-direction:column;gap:10px;display:flex}.ck-card{border:1px solid var(--ck-border);background:#fbfcfe;border-radius:10px;padding:12px}.ck-card__head{align-items:center;gap:10px;display:flex}.ck-card__thumb{flex:none}.ck-card__thumb .ck-thumb{width:40px;height:40px}.ck-card__title{flex:1;min-width:0}.ck-name{min-width:0}.ck-name__main{color:var(--ck-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ck-name__code{font-variant-numeric:tabular-nums;color:#0006;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.ck-card__kpis{border-top:1px dashed #eef1f5;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:10px 8px;margin-top:10px;padding-top:10px;display:grid}.ck-card__kpi-label{color:var(--ck-label);font-size:11px}.ck-card__kpi-value{font-variant-numeric:tabular-nums;color:var(--ck-text);margin-top:2px;font-size:15px;font-weight:600}.ck-card__kpi-value .ck-amt{align-items:flex-start;min-width:0}.ck-card__kpi-value .ck-amt__chg{white-space:normal;flex-wrap:wrap;gap:0 8px;margin-top:2px;font-size:11px;font-weight:400}.ck-card__rates{color:var(--ck-label);flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px;display:flex}.ck-card__rate b{color:var(--ck-text);margin-left:2px}@media (width<=767px){.ck-toolbar{gap:8px;padding:10px 12px}.ck-toolbar__row{gap:6px 8px}.ck-meta{gap:2px 6px;font-size:11px;line-height:15px}.ck-toolbar__group--dims{flex:100%;width:100%}.ck-toolbar .ck-tabs--underline{width:100%}.ck-toolbar .ck-tabs--underline .ck-tabs__item{flex:1 1 0;padding:0}.ck-toolbar .ck-tabs--block .ck-tabs__item{min-width:48px;padding:0 12px}.ck-block__actions .ck-tabs__item{padding:0 10px;font-size:12px}.ck-toolbar__group--pickers{flex:100%;width:100%}.ck-toolbar__group--pickers>.ck-picker{flex:1 1 0;min-width:0}.ck-picker__trigger{justify-content:space-between;width:100%;padding:0 6px}.ck-toolbar__group--pickers>.ck-picker:first-child .ck-picker__panel{left:0;right:auto}.ck-period__years{width:76px}.ck-period__grid{grid-template-columns:repeat(3,48px)}.ck-block .ant-card-body{padding:14px 12px}.ck-block__title{font-size:15px}.ck-kpi{padding:14px 14px 12px}.ck-kpi__label{font-size:13px}.ck-kpi__value{margin-top:6px;font-size:23px}.ck-kpi__meta{margin-top:8px;font-size:12px}.ck-funnel__name{min-width:0;font-size:14px}.ck-funnel__value{font-size:22px}.ck-funnel__track{height:20px}}@media (width<=991px){.admin-content{padding:16px}}@media (width<=767px){.admin-header{height:56px;padding:0 12px!important}.admin-header-left{gap:4px}.admin-header-title{font-size:16px}.admin-header-menu-btn{flex:none;margin-left:-8px}.admin-header-right{gap:4px}.admin-user-trigger{gap:0;padding:4px}.admin-user-name,.admin-user-trigger .anticon-down{display:none}.admin-content{padding:12px}.toast-stack{max-width:none;left:12px;right:12px}.status-page{padding:16px}}.ck-ops-pie{position:relative}.ck-ops-pie__legend{flex-wrap:wrap;justify-content:center;gap:4px 16px;display:flex;position:absolute;left:0;right:0}.ck-ops-pie__legend--top{top:0}.ck-ops-pie__legend--bottom{bottom:0}.ck-ops-pie__item{color:var(--ck-label);align-items:baseline;gap:5px;font-size:12px;display:inline-flex}.ck-ops-pie__dot{border-radius:2px;align-self:center;width:8px;height:8px}.ck-ops-pie__item b{color:var(--ck-text);font-weight:600}.ck-ops-pie__pct{font-size:11px}.ck-chartbox{width:100%;min-width:0;overflow:hidden}.ck-row2>*,.ck-row3>*,.ck-page>*{min-width:0}.ck-row2--wide{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.ck-row2--wide>.ck-block{margin-bottom:0}@media (width>=1200px){.ck-row2--wide{grid-template-columns:1fr 1fr}}.ck-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=768px){.ck-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=992px){.ck-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1280px){.ck-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}}.ck-page-nav{justify-content:flex-end;margin-top:12px;display:flex}@media (width<=767px){.ck-page-nav{justify-content:center}}.ck-kpi__unit{color:#8c8c8c;margin-left:3px;font-size:13px;font-weight:500}
