:root{--erp-bg:#f3f6fb;--erp-bg-soft:#f8fbff;--erp-panel:#fff;--erp-panel-soft:#f8fbff;--erp-line:#d8e1ef;--erp-line-strong:#c4d0e1;--erp-text:#0f172a;--erp-muted:#64748b;--erp-primary:#2563eb;--erp-primary-strong:#1d4ed8;--erp-primary-soft:#dbeafe;--erp-primary-ghost:rgba(37,99,235,0.1);--erp-sidebar:#0f172a;--erp-sidebar-soft:#111827;--erp-sidebar-text:#e2e8f0;--erp-sidebar-muted:#94a3b8;--erp-danger:#dc2626;--erp-success:#15803d;--erp-shadow:0 14px 34px rgba(15,23,42,0.08);--erp-shadow-soft:0 8px 22px rgba(15,23,42,0.05);--erp-radius:12px}*,:after,:before{box-sizing:border-box}#app,body,html{width:100%;height:100%;min-height:100vh}body{margin:0;padding:0;overflow:hidden;font-family:Microsoft YaHei,Segoe UI,PingFang SC,sans-serif;color:var(--erp-text);background:radial-gradient(circle at top,rgba(37,99,235,.09),transparent 30%),linear-gradient(180deg,#eaf1fb,#f8fbff)}#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-router-container,.app-shell{width:100%;height:100%;min-height:100vh}.app-router-container{min-width:0;overflow:hidden}.app-router-container .ant-table-wrapper{width:100%;max-width:100%;min-width:0}.app-router-container .ant-table-body,.app-router-container .ant-table-content,.app-router-container .ant-table-scroll{max-width:100%;overflow-x:auto!important;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.38) transparent}.app-router-container .ant-table-body>table,.app-router-container .ant-table-content>table{width:-moz-max-content;width:max-content;min-width:100%}.app-router-container .ant-table-body::-webkit-scrollbar,.app-router-container .ant-table-content::-webkit-scrollbar,.app-router-container .ant-table-scroll::-webkit-scrollbar{height:10px}.app-router-container .ant-table-body::-webkit-scrollbar-thumb,.app-router-container .ant-table-content::-webkit-scrollbar-thumb,.app-router-container .ant-table-scroll::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:rgba(100,116,139,.36)}.app-router-container .ant-table-body::-webkit-scrollbar-thumb:hover,.app-router-container .ant-table-content::-webkit-scrollbar-thumb:hover,.app-router-container .ant-table-scroll::-webkit-scrollbar-thumb:hover{background:rgba(37,99,235,.45)}.erp-fixed-table-scrollbar{position:fixed;right:auto;bottom:10px;z-index:1080;height:16px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:hsla(0,0%,100%,.92);box-shadow:0 10px 28px rgba(15,23,42,.18);scrollbar-width:thin;scrollbar-color:rgba(37,99,235,.48) transparent}.erp-fixed-table-scrollbar-inner{height:1px}.erp-fixed-table-scrollbar::-webkit-scrollbar{height:12px}.erp-fixed-table-scrollbar::-webkit-scrollbar-thumb{border:2px solid hsla(0,0%,100%,.9);border-radius:999px;background:rgba(37,99,235,.45)}.erp-fixed-table-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(29,78,216,.62)}.app-router-container .ant-layout{background:transparent}.app-router-container .ant-layout-sider-children{height:100%}.app-router-container .ant-card{border:1px solid var(--erp-line);border-radius:var(--erp-radius);box-shadow:var(--erp-shadow-soft);overflow:hidden;background:hsla(0,0%,100%,.96)}.app-router-container .ant-card-body{min-width:0}.app-router-container .ant-card-head{min-height:58px;padding:0 20px;background:linear-gradient(180deg,rgba(247,250,252,.96),hsla(0,0%,100%,.98));border-bottom:1px solid var(--erp-line)}.app-router-container .ant-card-head-title{padding:16px 0;color:var(--erp-text);font-size:16px;font-weight:700;letter-spacing:.2px}.app-router-container .page-card{border-radius:14px;box-shadow:0 12px 30px rgba(15,23,42,.08)}.app-router-container .page-card .ant-card-body{padding:18px 20px}.app-router-container .page-title{display:inline-flex;align-items:center;gap:12px;color:var(--erp-text);font-size:18px;font-weight:800;letter-spacing:.2px}.app-router-container .page-title:before{content:"";width:6px;height:18px;border-radius:999px;background:linear-gradient(180deg,var(--erp-primary),var(--erp-primary-strong));box-shadow:0 8px 18px rgba(37,99,235,.22)}.app-router-container .page-alert{margin-bottom:16px;border-radius:14px;border-color:rgba(37,99,235,.14);background:linear-gradient(180deg,rgba(239,246,255,.96),hsla(0,0%,100%,.98))}.app-router-container .toolbar{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(216,225,239,.92);border-radius:12px;background:linear-gradient(180deg,rgba(248,251,255,.96),hsla(0,0%,100%,.98));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.app-router-container .toolbar-left,.app-router-container .toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.app-router-container .toolbar-right{justify-content:flex-end;margin-left:auto}.app-router-container .toolbar-input,.app-router-container .toolbar-item{width:260px;max-width:100%}.app-router-container .toolbar-range{width:360px;max-width:100%}.app-router-container .toolbar-tip{color:var(--erp-muted);font-size:12px;line-height:1.7}.app-router-container .toolbar-secondary{background:hsla(0,0%,100%,.94)}.app-router-container .info-cell{display:flex;flex-direction:column;gap:4px;line-height:1.5}.app-router-container .info-main{color:var(--erp-text);font-weight:600}.app-router-container .info-sub{color:var(--erp-muted);font-size:12px}.app-router-container .action-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.app-router-container .ant-btn{border-radius:10px;font-weight:600;box-shadow:none}.app-router-container .ant-btn-primary{border-color:transparent;background:linear-gradient(135deg,var(--erp-primary),var(--erp-primary-strong))}.app-router-container .ant-btn-primary:focus,.app-router-container .ant-btn-primary:hover{border-color:transparent;background:linear-gradient(135deg,#3b82f6,#2563eb)}.app-router-container .ant-btn:not(.ant-btn-primary){border-color:var(--erp-line);color:var(--erp-text)}.app-router-container .ant-btn:not(.ant-btn-primary):focus,.app-router-container .ant-btn:not(.ant-btn-primary):hover{border-color:rgba(37,99,235,.35);color:var(--erp-primary)}.app-router-container .ant-calendar-picker-input,.app-router-container .ant-input,.app-router-container .ant-input-number,.app-router-container .ant-input-number-input,.app-router-container .ant-input-password,.app-router-container .ant-select-selection{border-radius:10px}.app-router-container .ant-calendar-picker-input,.app-router-container .ant-input,.app-router-container .ant-input-number,.app-router-container .ant-input-password,.app-router-container .ant-select-selection{border-color:var(--erp-line);box-shadow:none}.app-router-container .ant-calendar-picker:hover .ant-calendar-picker-input,.app-router-container .ant-input-number-focused,.app-router-container .ant-input-number:hover,.app-router-container .ant-input-password:focus,.app-router-container .ant-input-password:hover,.app-router-container .ant-input:focus,.app-router-container .ant-input:hover,.app-router-container .ant-select-selection:hover{border-color:rgba(37,99,235,.4)}.app-router-container .ant-calendar-picker-input:focus,.app-router-container .ant-input-number-focused,.app-router-container .ant-input-password:focus,.app-router-container .ant-input:focus,.app-router-container .ant-select-focused .ant-select-selection{box-shadow:0 0 0 3px rgba(37,99,235,.12)}.app-router-container .ant-table{color:var(--erp-text);border-radius:12px}.app-router-container .ant-table-small{font-size:13px}.app-router-container .ant-table-body,.app-router-container .ant-table-header{background:#fff}.app-router-container .ant-table-thead>tr>th{background:var(--erp-panel-soft);color:var(--erp-text);border-bottom:1px solid var(--erp-line);font-weight:700}.app-router-container .ant-table-tbody>tr>td{border-bottom:1px solid rgba(217,227,236,.9)}.app-router-container .ant-table-tbody>tr:nth-child(2n)>td{background:rgba(248,251,252,.72)}.app-router-container .ant-table-tbody>tr:hover>td{background:rgba(219,234,254,.58)!important}.app-router-container .ant-table-pagination.ant-pagination{margin:18px 0 0}.app-router-container .ant-table-placeholder{border-bottom:1px solid var(--erp-line)}.app-router-container .ant-tag{border-radius:999px;padding:1px 10px;font-weight:600}.app-router-container .ant-tag:not(.ant-tag-has-color){color:var(--erp-text);border-color:rgba(148,163,184,.3);background:#f8fafc}.app-router-container .tag-neutral{color:var(--erp-text)!important;border-color:rgba(148,163,184,.3)!important;background:#f8fafc!important}.app-router-container .tag-neutral-soft{color:#475569!important;border-color:rgba(148,163,184,.24)!important;background:#f1f5f9!important}.app-router-container .ant-pagination-item,.app-router-container .ant-pagination-next .ant-pagination-item-link,.app-router-container .ant-pagination-prev .ant-pagination-item-link{border-radius:10px}.app-router-container .ant-pagination-item-active{border-color:var(--erp-primary)}.app-router-container .ant-pagination-item-active a{color:var(--erp-primary)}.app-router-container .ant-modal-content{border-radius:18px;overflow:hidden}.app-router-container .ant-modal-header{border-bottom:1px solid var(--erp-line);background:linear-gradient(180deg,rgba(247,250,252,.96),hsla(0,0%,100%,.98))}.app-router-container .ant-modal-title{color:var(--erp-text);font-weight:700}.app-router-container .ant-tabs-bar{border-bottom-color:var(--erp-line)}.app-router-container .ant-tabs-nav .ant-tabs-tab-active{color:var(--erp-primary)}.app-router-container .ant-tabs-ink-bar{background-color:var(--erp-primary)}.app-router-container .ant-alert{border-radius:12px;border:1px solid var(--erp-line)}.panel .ant-table{min-height:220px!important}@media (max-width:1440px){.app-router-container .toolbar{padding:12px 14px}.app-router-container .toolbar-input,.app-router-container .toolbar-item{width:220px}.app-router-container .toolbar-range{width:320px}}.table-page{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-page.page-view{display:flex!important}.table-page .page-card,.table-page .page-card>.ant-card-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.table-page .page-card>.ant-card-body{padding:8px;overflow:hidden}.table-page .ant-card-head{flex:0 0 auto}.table-page .table-page-toolbar,.table-page .toolbar{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px}.table-page .toolbar-left,.table-page .toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.table-page .toolbar-right{margin-left:auto}.table-page .toolbar-input,.table-page .toolbar-item{width:180px}.table-page .table-page-row{flex:1 1 auto;min-height:0;overflow:hidden}.table-page .table-page-row .ant-col,.table-page .table-page-row .ant-spin-container,.table-page .table-page-row .ant-spin-nested-loading,.table-page .table-page-row .ant-table-wrapper{height:100%;min-height:0}.table-page .table-page-row .ant-spin-container{display:flex;flex-direction:column}.table-page .table-page-row .ant-table{flex:1 1 auto;min-height:0}.table-page .table-page-row .ant-table-pagination.ant-pagination{flex:0 0 auto;align-self:flex-start;float:left;margin:8px 0 0}.ant-table-pagination.ant-pagination{float:left;text-align:left}.table-page .page-title{color:#0f172a;font-size:14px;font-weight:600;line-height:20px}.table-page .table-page-table .ant-table table{table-layout:fixed!important}.table-page .table-page-table .ant-table-body,.table-page .table-page-table .ant-table-content,.table-page .table-page-table .ant-table-scroll{min-height:0}.table-page .table-page-row .ant-table-content,.table-page .table-page-row .ant-table-scroll{overflow-x:hidden!important;overflow-y:hidden!important}.table-page .table-page-row .ant-table-body{overflow:auto!important}.table-page .table-page-table .ant-table-tbody>tr>td,.table-page .table-page-table .ant-table-thead>tr>th{white-space:normal!important;word-break:break-word;line-height:20px;vertical-align:top}.table-page .table-page-table .ant-table-tbody>tr>td{padding-top:10px;padding-bottom:10px}.table-page .table-page-tabs-bottom{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;margin-top:6px}