*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:#f4f5f7;color:#101522;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.app-shell{height:100vh;height:100dvh;overflow:hidden;background:#f4f5f7}.app-sider{height:100vh;height:100dvh;flex-shrink:0;border-right:1px solid #E6E8EE;background:#fff!important;z-index:20}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;min-height:0}.sider-brand{display:flex;align-items:center;gap:10px;padding:16px;flex-shrink:0;border-bottom:1px solid #EEF0F4}.sider-logo{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,#2563eb,#7c3aed);display:grid;place-items:center;color:#fff;font-weight:700}.sider-brand small{display:block;color:#6b7280}.sider-menu{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;border-inline-end:none!important}.sider-foot{flex-shrink:0;padding:14px 16px;color:#6b7280;font-size:12px;line-height:1.7;border-top:1px solid #EEF0F4;background:#fafbfc}.app-main{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;min-width:0;background:#f4f5f7}.app-header{flex-shrink:0;z-index:15;background:#fff!important;display:flex;align-items:center;gap:12px;padding:10px 16px!important;flex-wrap:wrap;height:auto!important;min-height:64px;line-height:1.4;border-bottom:1px solid #E6E8EE;box-shadow:0 1px 4px #1015220a}.app-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px}.list-page{display:flex;flex-direction:column;height:100%;min-height:0}.list-filters{flex-shrink:0;margin-bottom:12px}.list-pager{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px}.vtable-wrap{min-height:0}.list-page .vtable-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.vtable-wrap .ant-table-wrapper{background:#fff;border:1px solid #E6E8EE;border-radius:10px;overflow:hidden}.vtable-wrap .ant-table-thead>tr>th{background:#f8f9fb}.ant-table-wrapper{overflow-x:auto}.ant-table-body{scrollbar-gutter:stable}.ant-card .vtable-wrap .ant-table-wrapper{border:none;border-radius:0}.detail-drawer .ant-drawer-header{background:#fff;border-bottom:1px solid #E6E8EE;padding:16px 20px}.detail-drawer .ant-drawer-body{background:#f4f5f7;padding:16px}.detail-stack{display:flex;flex-direction:column;gap:14px;width:100%}.detail-summary{background:linear-gradient(135deg,#eff4ff,#f5f0ff);border:1px solid #DCE6FB;border-radius:12px;padding:16px}.detail-summary .detail-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;color:#4b5563;font-size:13px}.detail-summary .detail-meta b{color:#6b7280;font-weight:400;margin-right:4px}.detail-section{background:#fff;border:1px solid #E6E8EE;border-radius:12px;overflow:hidden}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 16px;background:#f8f9fb;border-bottom:1px solid #EEF0F4}.detail-section-head h5{margin:0;font-size:14px;font-weight:600;color:#101522}.detail-section-head .detail-count{color:#6b7280;font-weight:400;font-size:12px;margin-left:6px}.detail-section-body{padding:12px 16px}.detail-section-body .ant-descriptions-item-label{width:96px;color:#6b7280;background:#fafbfc}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #F1F3F6}.detail-row:last-child{border-bottom:none}.detail-row .detail-row-main{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-row .detail-row-main .ant-typography{word-break:break-all}.detail-demand{border:1px solid #E6E8EE;border-radius:10px;padding:12px;background:#fafbfc}.detail-demand+.detail-demand{margin-top:10px}.detail-source-link{display:block;font-size:12px;word-break:break-all;padding:5px 0;border-bottom:1px solid #F1F3F6}.detail-source-link:last-child{border-bottom:none}@media (max-width: 768px){.app-content{padding:14px!important}.ant-table{font-size:13px}.detail-drawer .ant-drawer-body{padding:12px}.detail-section-body .ant-descriptions-item-label{width:76px}}
