*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f3f6f5;color:#17313b;letter-spacing:0;font-synthesis:none;text-rendering:optimizeLegibility}#root{min-height:100vh}.app-shell{min-height:100vh;background:#f3f6f5}.desktop-sider{position:sticky!important;top:0;height:100vh;padding:18px 12px;background:#fff!important;border-right:1px solid #e3e9e7}.app-nav-menu,.app-nav-menu-dark{border-inline-end:0}.app-nav-menu{background:transparent}.app-nav-menu .ant-menu-item,.app-nav-menu .ant-menu-submenu-title{margin-bottom:5px}.app-nav-menu .ant-menu-item-selected,.app-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#0f766e;background:#e8f3f0!important}.app-nav-menu .ant-menu-item:hover,.app-nav-menu .ant-menu-submenu-title:hover{color:#0f766e!important;background:#f1f7f5!important}.company-ledger-nav-item{height:auto!important;min-height:44px;padding-block:7px!important;line-height:20px!important}.company-menu-link{display:block;white-space:normal;line-height:20px}.menu-label-with-badge{display:inline-flex;align-items:center;gap:8px;min-width:0}.menu-label-with-badge .ant-badge{line-height:1}.app-header{height:68px;padding:0 24px;display:flex;align-items:center;gap:14px;background:#ffffffeb;border-bottom:1px solid #e3e9e7;position:sticky;top:0;z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);line-height:normal}.header-title{flex:1;font-weight:600}.user-chip{display:flex;align-items:center;gap:9px;min-width:0}.user-chip strong,.user-chip span{display:block;line-height:1.2}.user-chip span{max-width:260px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c8b87;font-size:11px}.mobile-menu-button{display:none}.drawer-title{display:flex;align-items:center;gap:10px;color:#17313b}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:8vw;padding:7vw;background:radial-gradient(circle at 10% 10%,#d8f0e9 0,transparent 34%),radial-gradient(circle at 90% 90%,#dce9f1 0,transparent 32%),#f5f8f7}.login-copy h1{margin:28px 0 6px!important;font-size:clamp(34px,5vw,64px)!important}.login-copy .ant-typography{max-width:620px}.login-feature{display:flex;align-items:center;gap:9px;margin-top:13px;color:#42615a}.login-card{width:min(100%,430px);justify-self:end;padding:14px;box-shadow:0 26px 80px #1f3c351f}.wechat-qr-panel{display:grid;gap:12px}.wechat-qr-frame{width:100%;aspect-ratio:1 / 1;display:grid;place-items:center;border:1px solid #d9e2e7;border-radius:8px;background:#fff;overflow:hidden}.wechat-qr-frame iframe{width:100%;height:100%;border:0}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 10px 20px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand .brand-copy>span{margin-top:3px;color:#768883;font-size:11px;letter-spacing:.06em}.sidebar-brand .brand-copy strong{display:block;max-width:142px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.brand-mark{position:relative;width:86px;height:86px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid #e0e8e6;border-radius:20px;background:#fff;box-shadow:0 16px 35px #0f766e29}.brand-mark.small{width:62px;height:50px;border-radius:12px;box-shadow:0 8px 18px #0f766e1f}.brand-logo{width:100%;height:100%;object-fit:contain}.app-content{width:100%;max-width:1600px;margin:0 auto;padding:24px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:16px}.page-title{margin:0;font-size:20px;color:#123f7a}.company-ledger-title-row,.dashboard-company-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-company-actions .ant-btn{padding-inline:4px}.metric-grid.dashboard-company-metrics{grid-template-columns:repeat(6,minmax(140px,1fr))}.metric-value.metric-inbound{color:#167d66}.metric-value.metric-outbound{color:#b5473f}.research-project-panel{border-top:3px solid #167ea9}.page-subtitle{margin:6px 0 0;color:#61717b}.toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toolbar-search{width:220px}.toolbar-filter{min-width:180px}.trace-search{display:flex;justify-content:flex-end}.trace-input{width:280px}.panel{background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:14px;min-width:0}.page-panel{background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:16px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.page-heading h1{margin:0;font-size:20px;color:#173b33}.page-heading p{margin:6px 0 0;color:#61717b}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:12px}.metric-card{background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:14px;min-width:0}.metric-label{color:#61717b;font-size:13px}.metric-value{font-size:24px;font-weight:700;margin-top:8px;color:#173b33}.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.dashboard-domain-list{display:grid;gap:16px}.dashboard-domain-panel{display:grid;gap:12px}.dashboard-domain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:14px}.dashboard-domain-head h2,.dashboard-panel-title{margin:0;color:#173b33}.dashboard-domain-head h2{font-size:18px}.dashboard-domain-head p{margin:6px 0 0;color:#61717b}.dashboard-domain-metrics{margin-bottom:0}.dashboard-domain-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.35fr);gap:12px}.dashboard-panel-title{font-size:16px;margin-bottom:12px}.dashboard-material-tags{display:flex;flex-wrap:wrap;gap:4px}.muted-text{color:#7b8a91}.domain-workbench{display:grid;gap:14px}.domain-section{display:grid;gap:10px}.domain-section h2{margin:0;font-size:15px;color:#173b33}.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.domain-link{min-height:104px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;color:inherit;text-decoration:none;background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:16px}.domain-link span{width:36px;height:36px;display:grid;place-items:center;color:#173b33;background:#eef7f3;border-radius:8px}.domain-link strong{color:#173b33}.company-ledger-page{display:grid;gap:14px}.master-code-page{display:grid;gap:16px}.master-code-filter-panel .ant-input{width:260px}.master-code-filter-panel .ant-select{width:190px}.master-code-table-panel{min-width:0}.code-candidate-select{width:310px;max-width:100%}.company-ledger-page>.page-head{margin-bottom:0}.company-owner-panel .ant-tabs-tab-btn{white-space:normal}.ledger-filters{width:100%}.ledger-filters label{display:grid;gap:4px;color:#61717b;font-size:12px}.ledger-filters .ant-input,.ledger-filters .ant-select{width:190px}.company-ledger-metrics{grid-template-columns:repeat(6,minmax(130px,1fr));margin-bottom:0}.ledger-summary-panel,.ledger-detail-panel{min-width:0}.ledger-photo-cell{display:flex;align-items:center;gap:6px;min-width:72px}.ledger-photo-cell .ant-image-img{object-fit:cover;border:1px solid #d9e2e7;border-radius:4px}.lims-page-head{align-items:flex-end;padding:20px;border-radius:12px;background:linear-gradient(125deg,#f0faf7,#fff 58%,#eef5ff);border:1px solid #d6e7e2}.lims-page-head .page-title{margin-top:8px;font-size:24px}.lims-alert{margin-bottom:12px}.lims-metric-grid{grid-template-columns:repeat(6,minmax(150px,1fr))}.lims-metric-card{border-top:3px solid #1b7f63}.lims-metric-note{color:#73817d;font-size:12px;margin-top:6px}.lims-flow-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin:12px 0 18px;overflow:hidden;border:1px solid #d9e2e7;border-radius:10px;background:#d9e2e7}.lims-flow-step{min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#173b33;font-weight:600}.lims-section-list{display:grid;gap:16px}.lims-section{display:grid;grid-template-columns:minmax(190px,.28fr) 1fr;gap:18px;padding:18px;border:1px solid #d9e2e7;border-radius:12px;background:#fff}.lims-section-heading h2{margin:0 0 6px;color:#173b33;font-size:17px}.lims-section-heading p{margin:0;color:#73817d;line-height:1.6}.lims-link-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.lims-link-card{display:grid;grid-template-columns:36px 1fr;gap:2px 10px;align-items:center;min-height:76px;padding:12px;color:#173b33;text-decoration:none;border:1px solid #e1e9e6;border-radius:9px;background:#f9fcfb;transition:border-color .15s ease,transform .15s ease}.lims-link-card:hover{border-color:#65a995;transform:translateY(-1px)}.lims-link-card>span{grid-row:1 / 3;display:grid;place-items:center;width:36px;height:36px;color:#167d66;background:#e8f5f1;border-radius:8px}.lims-link-card small{color:#83908c}.mini-bars{display:grid;gap:10px}.mini-bar-row{display:grid;grid-template-columns:90px 1fr 60px;align-items:center;gap:10px}.mini-bar-track{height:10px;background:#e7edf0;border-radius:6px;overflow:hidden}.mini-bar-fill{height:100%;background:#1b7f63}.json-detail{white-space:pre-wrap;margin:0;max-height:min(68vh,680px);overflow:auto}.item-list-field{margin-bottom:18px}.item-list-title{color:#173b33;font-weight:700;margin-bottom:10px}.item-list-wrap{display:grid;gap:12px}.item-row{border:1px solid #d9e2e7;border-radius:8px;padding:12px;background:#f8fbfa}.item-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.item-row-head strong{color:#173b33}.item-row-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px 12px}.item-row-grid .ant-form-item{margin-bottom:6px}.ant-table-wrapper{min-width:0}.ant-table-cell{word-break:keep-all}.ant-modal{max-width:calc(100vw - 24px)}@media (min-width: 901px) and (max-width: 1240px){.metric-grid.dashboard-company-metrics,.company-ledger-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.dashboard-domain-grid{grid-template-columns:1fr}}@media (max-width: 900px){.desktop-sider{display:none}.mobile-menu-button{display:inline-flex}.app-header{padding:0 14px}.header-title{display:none}.user-chip{margin-left:auto}.user-chip span{max-width:150px}.app-content{padding:16px}.metric-grid.dashboard-company-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-company-actions{align-items:flex-start;flex-direction:column;gap:4px}.login-shell{grid-template-columns:1fr;padding:28px 20px}.login-copy{text-align:center}.login-copy .brand-mark{margin:0 auto}.login-feature{justify-content:center}.login-card{justify-self:center}.page-head,.page-heading{align-items:stretch;flex-direction:column;gap:10px}.page-title,.page-heading h1{font-size:18px}.toolbar,.page-heading .ant-space,.trace-search{width:100%;justify-content:flex-start}.toolbar-search,.toolbar-filter,.trace-input{width:100%}.toolbar .ant-btn{flex:1 1 calc(50% - 4px);min-width:112px}.page-heading .ant-space .ant-btn,.trace-search .ant-btn{min-width:112px}.panel,.page-panel{padding:12px}.item-row-grid{grid-template-columns:1fr}.ant-table{font-size:13px}.ant-pagination{justify-content:flex-start}.ant-tabs-nav{margin-bottom:10px}.metric-grid,.dashboard-grid,.dashboard-domain-grid,.domain-grid{grid-template-columns:1fr}.company-ledger-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-filters,.ledger-filters label,.ledger-filters .ant-input,.ledger-filters .ant-select,.ledger-filters .ant-btn{width:100%}.lims-metric-grid,.lims-flow-strip,.lims-section,.lims-link-grid{grid-template-columns:1fr}.lims-flow-step{justify-content:flex-start;padding:0 18px}.dashboard-domain-head{align-items:stretch;flex-direction:column}.metric-value{font-size:22px}}@media (max-width: 520px){.app-header{gap:8px}.user-chip>div{display:none}.login-copy .login-feature{justify-content:flex-start;text-align:left}.wechat-qr-frame{max-height:calc(100vh - 280px)}.toolbar .ant-btn{flex-basis:100%}.mini-bar-row{grid-template-columns:76px 1fr 48px;gap:8px;font-size:12px}}
