.fx-watermark[data-v-1a3ed2f8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;pointer-events:none;-webkit-user-select:none;user-select:none;background-repeat:repeat;background-size:380px 250px;opacity:.85}@media (max-width: 768px){.fx-watermark[data-v-1a3ed2f8]{background-size:340px 224px;opacity:.6}}@media print{.fx-watermark[data-v-1a3ed2f8]{display:block}}.icp-footer[data-v-36ec3914]{display:inline-block;font-size:11px;line-height:1.5;letter-spacing:.2px;text-decoration:none;white-space:nowrap;transition:opacity .2s ease}.icp-footer[data-v-36ec3914]:hover{text-decoration:underline}.icp-footer.light[data-v-36ec3914]{color:#1c33289e}.icp-footer.light[data-v-36ec3914]:hover{color:#1c3328d9}.icp-footer.dark[data-v-36ec3914]{color:#aeb8c794;padding:0 14px 10px}.icp-footer.dark[data-v-36ec3914]:hover{color:#d6e0e9e6}.layout{min-height:100vh;overflow:visible;background:#f3f5f2}.sidebar{position:sticky;top:0;z-index:1000;align-self:flex-start;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(120% 45% at 50% 0%,rgba(118,178,146,.16),transparent 62%),linear-gradient(180deg,#14251d,#173026 58%,#101d17);transition:transform .24s cubic-bezier(.22,.61,.36,1);overflow:hidden;box-shadow:inset -1px 0 #ffffff0d}.logo{width:100%;height:64px;display:flex;align-items:center;gap:10px;padding:0 14px;color:#fff;cursor:pointer;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;font:inherit;text-align:left;white-space:nowrap}.logo-mark{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#b88a4d,#8d642f);box-shadow:0 6px 16px #0003;font-size:17px;font-weight:700}.logo-copy{display:flex;flex-direction:column;line-height:1.25}.logo-copy b{font-size:15px;letter-spacing:1px}.logo-copy small{margin-top:3px;color:#8f9cad;font-size:10px;font-weight:400}.sidebar .el-menu{min-height:0;border-right:0;flex:1;padding:8px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(174,184,199,.35) transparent}.sidebar .el-menu-item-group__title{padding:14px 12px 6px!important;color:#6f7c8e;font-size:11px}.sidebar .el-menu-item{height:44px;margin:3px 0;border-radius:7px}.sidebar .el-menu-item:hover{background:#ffffff12!important}.sidebar .el-menu-item.is-active{background:#539371b8!important;box-shadow:inset 3px 0 #d1aa70,0 5px 18px #0000001f}.sidebar .el-menu--collapse{width:64px;padding:8px}.sidebar.is-collapsed .el-menu-item-group__title{display:none}.sidebar.is-collapsed .el-menu-item{justify-content:center;padding:0!important}.sidebar.is-collapsed .el-menu-item>span{display:none!important;width:0;overflow:hidden}.sidebar.is-collapsed .el-menu-item .el-icon{margin:0}.sidebar.is-collapsed .sidebar-footer{justify-content:center;padding:0}.sidebar-icp{flex:0 0 auto}.sidebar-footer{height:48px;padding:0 10px;display:flex;align-items:center;gap:4px;color:#7f8b9c;border-top:1px solid rgba(255,255,255,.08);font-size:12px}.sidebar-footer .el-button{color:#aeb8c7}.workspace{min-width:0;overflow:visible}.app-header{position:sticky;top:0;z-index:50;flex-shrink:0;height:62px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:#fffefbd1;border-bottom:1px solid rgba(228,233,229,.9);box-shadow:0 1px #21392d05,0 8px 24px -20px #21392d59;backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px)}.header-left,.header-actions{display:flex;align-items:center;gap:12px}.nav-toggle{font-size:18px}.page-context{display:flex;flex-direction:column;line-height:1.3}.page-context strong{color:#1f2937;font-size:16px}.page-context span{margin-top:2px;color:#98a2b3;font-size:11px}.user-menu{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#475467;cursor:pointer}.user-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#385b49;font-size:13px;box-shadow:0 4px 10px #385b492e}.user-name{font-size:13px}.el-main{background:radial-gradient(circle at 82% 0,rgba(186,211,196,.18),transparent 32%),#f2f5f2;padding:20px 24px 32px}.el-main>*{width:100%;max-width:1660px;margin-left:auto;margin-right:auto}.full-page{min-height:100vh}.skip-link{position:fixed;left:12px;top:8px;z-index:2000;padding:9px 13px;border-radius:8px;color:#fff;background:var(--tea-900);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.mobile-overlay,.mobile-tabbar{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;width:210px!important;height:100vh;transform:translate(0)}.sidebar.mob-hidden{transform:translate(-100%)}.sidebar .el-menu{width:auto}.mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;border:0;background:#1118276b}.app-header{height:56px;padding:0 10px}.page-context span,.user-name{display:none}.header-actions{gap:4px}.header-actions .el-button{padding:7px 9px}.el-main{padding:12px 10px calc(70px + env(safe-area-inset-bottom))}.mobile-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:#fffefbf0;border-top:1px solid rgba(228,233,229,.95);box-shadow:0 -10px 30px -18px #10201a59;backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px)}.mobile-tabbar .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;border:0;border-radius:10px;background:transparent;color:#7b8a81;font:inherit;font-size:10.5px;line-height:1.1;cursor:pointer;transition:color .15s ease,background .15s ease}.mobile-tabbar .tab.active{color:var(--tea-700);background:var(--tea-50);font-weight:650}.mobile-tabbar .tab:active{background:var(--tea-100)}}:root{--tea-950: #10201a;--tea-900: #173026;--tea-800: #23483a;--tea-700: #2f6f53;--tea-600: #3d8062;--tea-500: #57a183;--tea-100: #e6f1eb;--tea-50: #f3f8f5;--ink-900: #16231c;--ink-700: #33463c;--ink-500: #64756b;--ink-400: #84938a;--ink-300: #a7b3ac;--paper: #fffefb;--line: #e4e9e5;--line-strong: #d3dcd6;--warm: #b47a37;--danger: #c83f31;--success: #2f7d5b;--warning: #b7791f;--surface: #fffefb;--surface-muted: #f6f8f6;--surface-sunken: #eef2ef;--shadow-xs: 0 1px 2px rgba(16, 32, 26, .05);--shadow-sm: 0 2px 8px rgba(16, 32, 26, .05), 0 1px 2px rgba(16, 32, 26, .04);--shadow-md: 0 12px 28px -14px rgba(16, 32, 26, .22), 0 2px 6px rgba(16, 32, 26, .04);--shadow-lg: 0 28px 64px -24px rgba(16, 32, 26, .3), 0 6px 16px rgba(16, 32, 26, .06);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--font-ui: "Inter", "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--font-num: "SF Mono", "JetBrains Mono", "Cascadia Mono", Consolas, "Roboto Mono", monospace;--el-color-primary: #34745a;--el-color-primary-light-3: #5f927c;--el-color-primary-light-5: #89ad9d;--el-color-primary-light-7: #b7cec4;--el-color-primary-light-8: #d2e1da;--el-color-primary-light-9: #edf5f1;--el-color-primary-dark-2: #285c48;--el-color-danger: #c83f31;--el-color-danger-light-3: #d9776c;--el-color-danger-light-5: #e3a49b;--el-color-danger-light-7: #efc9c3;--el-color-danger-light-8: #f5ddd9;--el-color-danger-light-9: #fdf1ef;--el-color-danger-dark-2: #a03227;--el-color-success: #2f7d5b;--el-color-success-light-3: #6ba689;--el-color-success-light-5: #97c2ab;--el-color-success-light-7: #c0dbce;--el-color-success-light-8: #d5e8df;--el-color-success-light-9: #eef7f2;--el-color-warning: #b7791f;--el-color-warning-light-3: #cb9c58;--el-color-warning-light-5: #dbbd8c;--el-color-warning-light-7: #e9d6b8;--el-color-warning-light-8: #f0e3cd;--el-color-warning-light-9: #fdf6e9;--el-border-radius-base: 9px;--el-border-radius-small: 7px;--el-text-color-primary: #1d2c24;--el-text-color-regular: #43544a;--el-border-color: #dde5df;--el-border-color-light: #e6ece8;--el-fill-color-blank: #fffefb;--el-font-size-base: 13px}.el-table .money,.num{font-variant-numeric:tabular-nums;white-space:nowrap}.cell-sub{display:block;color:var(--ink-400);font-size:11px;line-height:1.35;margin-top:1px}.cell-strong{font-weight:600;color:var(--ink-900)}.el-table .el-table__cell.is-right .cell{font-variant-numeric:tabular-nums}.el-switch:focus-visible .el-switch__core,.el-radio:focus-visible .el-radio__inner,.el-pagination button:focus-visible,.el-dropdown:focus-visible{outline:2px solid var(--tea-600);outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{overflow-x:clip}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);color:var(--ink-700);background:#f2f5f2;font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}::selection{color:#fff;background:var(--tea-700)}a{color:var(--tea-700)}a:focus-visible,button:focus-visible,[role=button]:focus-visible,.el-input__wrapper:focus-within,.el-select__wrapper:focus-within,.el-textarea__inner:focus-visible,.el-checkbox:focus-visible .el-checkbox__inner{outline:2px solid rgba(47,111,83,.55);outline-offset:2px;border-radius:var(--radius-sm)}#app{min-height:100vh;max-width:100vw}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}.page-enter-active{transition:opacity .18s ease,transform .18s cubic-bezier(.22,.61,.36,1)}.page-leave-active{transition:opacity .12s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0}.cursor-pointer{cursor:pointer}.text-center{text-align:center}.text-right{text-align:right}.flex-between{display:flex;justify-content:space-between;align-items:center}.mb-16{margin-bottom:16px}.mt-16{margin-top:16px}.num,.money,.stat-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.stat-value{font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.5px;color:var(--ink-900)}.stat-label{font-size:12px;color:var(--ink-400);margin-top:3px}.alert-flash{animation:flash 1s infinite}@keyframes flash{0%,to{opacity:1}50%{opacity:.3}}.stat-card.clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.stat-card.clickable:active{transform:translateY(0)}.stat-card.alert-border{border:1px solid #ecb4ab;background:#fffaf8}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.filter-card{background:var(--surface-muted);border:1px solid transparent;border-radius:var(--radius-sm);padding:8px;text-align:center;cursor:pointer;font-size:13px;color:var(--ink-700);transition:border-color .15s ease,color .15s ease,background .15s ease}.filter-card:hover{border-color:var(--tea-500);color:var(--tea-700);background:var(--tea-50)}.page-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.page-heading h2{margin:0;color:var(--ink-900);font-size:21px;font-weight:700;letter-spacing:-.2px}.page-heading p{margin-top:4px;color:var(--ink-400);font-size:12px}.category-strip{display:flex;gap:6px;min-width:0;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.category-chip{flex:0 0 auto;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-700);background:var(--surface);font-size:12px;cursor:pointer;transition:all .15s ease}.category-chip:hover{border-color:var(--tea-500);color:var(--tea-700);background:var(--tea-50)}.category-chip.active{border-color:var(--tea-700);color:#fff;background:var(--tea-700);box-shadow:0 4px 10px -4px #2f6f538c}.el-button{border-radius:var(--radius-sm);font-weight:500;transition:transform .12s ease,box-shadow .18s ease,background-color .18s ease}.el-button:active{transform:translateY(1px)}.el-button--primary:not(.is-plain):not(.is-text):not(.is-link){box-shadow:0 6px 14px -8px #34745aa6}.el-button--primary:hover{box-shadow:0 8px 18px -8px #34745ab3}.el-input__wrapper,.el-select__wrapper{border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--line-strong) inset;background:#fff;transition:box-shadow .15s ease}.el-input__wrapper:hover,.el-select__wrapper:hover{box-shadow:0 0 0 1px #a9bdb1 inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--tea-600) inset,0 0 0 3px #2f6f531f}.el-textarea__inner{border-radius:var(--radius-sm)}.el-form-item__label{color:var(--ink-500);font-weight:500}.el-table{--el-table-header-bg-color: #f6f9f7;--el-table-row-hover-bg-color: #f4f9f6;--el-table-border-color: #ecf0ed;color:var(--ink-700);border-radius:var(--radius-md)}.el-table th.el-table__cell{height:42px;color:#5c6f64;font-size:11.5px;font-weight:650;letter-spacing:.03em}.el-table td.el-table__cell{padding:10px 0;font-size:12.5px}.el-table__body tr:hover>td.el-table__cell{box-shadow:inset 0 1px #e8f1ec,inset 0 -1px #e8f1ec}.el-table__body tr:hover>td.el-table__cell:first-child{box-shadow:inset 2px 0 0 var(--tea-600),inset 0 1px #e8f1ec,inset 0 -1px #e8f1ec}.el-table .cell{line-height:1.5}.el-table__empty-block{min-height:120px}.el-table .el-tag{border-radius:6px}.el-pagination{--el-pagination-button-bg-color: transparent;font-variant-numeric:tabular-nums}.el-pagination .el-pager li,.el-pagination button{border-radius:7px}.el-tabs__header{margin-bottom:13px}.el-tabs__nav-wrap:after{height:1px;background:var(--line)}.el-tabs__item{color:var(--ink-500);font-weight:500}.el-tabs__item.is-active{color:var(--tea-700);font-weight:650}.el-tabs__active-bar{height:2.5px;border-radius:2px}.el-dialog{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.el-dialog__header{margin-right:0;padding:18px 22px 14px;border-bottom:1px solid #eef2ef}.el-dialog__title{color:var(--ink-900);font-size:16px;font-weight:650}.el-dialog__body{padding:18px 22px}.el-dialog__footer{padding:12px 22px 16px;border-top:1px solid #eef2ef}.el-drawer{box-shadow:var(--shadow-lg)}.el-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.el-popper.is-light{border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.el-dropdown-menu__item{border-radius:7px;margin:2px 6px}.el-message{border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.el-empty{--el-empty-padding: 26px 0}.el-empty__description p{color:var(--ink-400);font-size:12px}.el-empty__image{opacity:.82}*{scrollbar-width:thin;scrollbar-color:#c3cec7 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#c9d4cd;border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#aab9b0;background-clip:content-box}@media (max-width: 768px){html{font-size:14px}body{overflow-x:clip;-webkit-tap-highlight-color:transparent}.el-main{width:100%!important;max-width:100vw}.stat-card{padding:10px 12px!important}.stat-value{font-size:18px!important}.stat-label{font-size:10px!important}.dashboard .el-row .el-col[class*=span-8],.dashboard .el-row .el-col[class*=span-6],.dashboard .el-row .el-col[class*=span-5],.dashboard .el-row .el-col[class*=span-4]{max-width:50%!important;flex:0 0 50%!important}.el-dialog{width:96%!important;margin:2vh auto!important}.el-dialog.is-fullscreen{width:100%!important;margin:0!important}.el-dialog__body{padding:12px!important}.el-form-item{margin-bottom:10px!important}.el-form-item__label,.el-table{font-size:12px!important}.el-table .cell{padding:4px 6px!important;word-break:normal}.el-tabs__item{font-size:12px!important;padding:0 10px!important}.login-card{width:92%!important;padding:20px 14px!important}.login-page h1{font-size:17px!important}h2{font-size:18px!important;margin-bottom:6px!important}h3{font-size:14px}.mb-16{margin-bottom:6px!important}.flex-between{flex-wrap:wrap!important;gap:6px!important}.el-pagination{justify-content:center!important;font-size:11px!important}.el-pagination button,.el-pager li{min-width:38px!important;height:38px!important}.el-radio-group{display:flex;flex-wrap:nowrap;overflow-x:auto}.el-radio-button__inner{min-height:38px;font-size:12px!important;padding:8px 11px!important}.el-button{min-height:38px}.category-chip{min-height:36px}.page-toolbar{padding:9px;gap:7px}.page-heading{align-items:flex-start}.page-heading h2{font-size:19px}.el-message{min-width:0!important;max-width:92vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.alert-flash{animation:none!important}}
