*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;color:#1f2433;background:radial-gradient(1200px 600px at -10% -20%,#7c5cff1a,#0000 55%),radial-gradient(1000px 500px at 110% -10%,#2f54eb1a,#0000 50%),#f6f7fb;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit}.app-shell{min-height:100vh}.app-sider{border-right:1px solid #ffffff0a;background:linear-gradient(#1c1f33 0%,#141626 100%)!important}.app-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd1!important}.app-content{min-height:280px;margin:16px}.app-content-inner{background:linear-gradient(#fff 0%,#fcfbff 100%);border:1px solid #ebe9f7;border-radius:14px;min-height:calc(100vh - 112px);padding:20px;box-shadow:0 8px 30px #23263b0f}.app-content-inner .ant-card{border-color:#eceaf8;box-shadow:0 6px 20px #1c1f330d}.app-content-inner .ant-card .ant-card-head{border-bottom-color:#efedf8}.app-content-inner .ant-statistic-title{color:#5d6077}.app-content-inner .ant-table-wrapper .ant-table{border-radius:10px}.app-content-inner .ant-btn-primary{box-shadow:0 6px 16px #7c5cff47}.page-header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.page-header .ant-typography{margin-bottom:0}.page-subtitle{color:#6a6f88;margin-bottom:0!important}.toolbar-panel{background:#fbfaff;border:1px solid #ebe9f7;border-radius:12px;margin-bottom:12px;padding:12px}.filter-tags{background:#fefeff;border:1px dashed #dfdbf7;border-radius:10px;margin-bottom:12px;padding:8px 10px}.table-panel{background:#fff;border:1px solid #ebe9f7;border-radius:12px;overflow:hidden}.app-content-inner .ant-form-vertical .ant-form-item-label>label{color:#363a4e;font-weight:600}.app-content-inner .ant-modal .ant-modal-header{border-bottom:1px solid #efedf8;margin-bottom:16px;padding-bottom:12px}.app-content-inner .ant-modal .ant-modal-footer{border-top:1px solid #efedf8;margin-top:16px;padding-top:12px}.ref-mindmap-wrap{padding:14px}.ref-hover-card{background:#fcfbff;border:1px solid #eceaf8;border-radius:10px}.customer-focus-row>td{background:#f6ffed!important}.ref-mindmap-canvas{flex-direction:column;gap:14px;display:flex}.ref-root-node{text-align:center;background:linear-gradient(#f3f0ff 0%,#fff 100%);border:1px solid #d9d2ff;border-radius:12px;flex-direction:column;align-self:center;gap:2px;min-width:180px;padding:10px 14px;display:inline-flex;box-shadow:0 8px 18px #7c5cff29}.ref-branch-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.ref-branch-item{background:#fcfbff;border:1px dashed #dcd7f6;border-radius:12px;padding:10px;position:relative}.ref-branch-item:before{content:"";background:#dcd7f6;width:2px;height:10px;position:absolute;top:-10px;left:50%}.ref-branch-head{cursor:pointer;background:#fff;border:1px solid #e5e1fa;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.ref-branch-head:hover{border-color:#c9bdf8}.ref-leaf-list{border-top:1px dashed #e7e3fa;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.ref-leaf-node{cursor:pointer;background:#fff;border:1px solid #dfdbf7;border-radius:999px;padding:4px 10px;line-height:1.2}.ref-leaf-node:hover{border-color:#c5b9f7}.ref-leaf-node.is-valid{background:#f6ffed;border-color:#b7eb8f}.ref-leaf-node.is-invalid{background:#fff7e6;border-color:#ffd591}.ant-modal .customer-edit-form-grid.ant-form-vertical{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.ant-modal .customer-edit-form-grid.ant-form-vertical .ant-form-item{margin-bottom:12px}.ant-modal .customer-create-form-grid.ant-form-vertical{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.ant-modal .customer-create-form-grid.ant-form-vertical .ant-form-item{margin-bottom:12px}.ant-modal .project-form-grid.ant-form-vertical{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.ant-modal .project-form-grid.ant-form-vertical .ant-form-item{margin-bottom:12px}.ant-modal .material-form-grid.ant-form-vertical{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.ant-modal .material-form-grid.ant-form-vertical .ant-form-item{margin-bottom:12px}
