html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.trade-doc-root{font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#000;background:#fff;max-width:210mm;margin:0 auto;padding:10mm 12mm;box-sizing:border-box}.trade-doc-toolbar{margin-bottom:16px}.trade-doc-title{font-size:20px;font-weight:700;text-align:center;letter-spacing:2px;margin:0 0 12px}.trade-doc-header{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #000;margin-bottom:0}.trade-doc-header-left{border-right:1px solid #000;padding:6px 8px}.trade-doc-header-right{padding:6px 8px}.trade-doc-header-grid{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:auto auto auto auto}.trade-doc-header-grid .trade-doc-header-cell{padding:4px 8px;border-bottom:1px solid #000;font-size:11px;box-sizing:border-box}.trade-doc-header-grid .trade-doc-header-shipper{grid-column:1 / 3;grid-row:1 / 3;border-right:1px solid #000}.trade-doc-header-grid .trade-doc-header-soldto{grid-column:1 / 3;grid-row:3 / 5;border-right:1px solid #000;border-bottom:none}.trade-doc-header-grid .trade-doc-header-invoice-no{grid-column:3;grid-row:1}.trade-doc-header-grid .trade-doc-header-invoice-date{grid-column:4;grid-row:1;border-left:1px solid #000}.trade-doc-header-grid .trade-doc-header-payment-doc{grid-column:3 / 5;grid-row:2}.trade-doc-header-grid .trade-doc-header-payment-terms{grid-column:3 / 5;grid-row:3}.trade-doc-header-grid .trade-doc-header-container{grid-column:3 / 5;grid-row:4;border-bottom:none}.trade-doc-header-cell{padding:4px 8px;border-bottom:1px solid #000;font-size:11px}.trade-doc-header-cell:last-child{border-bottom:none}.trade-doc-header-cell-label{font-weight:700;display:block;margin-bottom:2px}.trade-doc-header-full{grid-column:1 / -1;padding:4px 8px;border-bottom:1px solid #000;border-top:1px solid #000}.trade-doc-ports{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #000;border-top:none;margin-bottom:0}.trade-doc-port-cell{padding:4px 8px;font-size:11px}.trade-doc-port-cell+.trade-doc-port-cell{border-left:1px solid #000}.trade-doc-port-label{font-weight:700;display:block}.trade-doc-shipping{display:grid;grid-template-columns:1fr 1fr;border:1px solid #000;border-top:none;margin-bottom:8px}.trade-doc-shipping-cell{padding:4px 8px;font-size:11px}.trade-doc-shipping-cell+.trade-doc-shipping-cell{border-left:1px solid #000}.trade-doc-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:4px}.trade-doc-table th,.trade-doc-table td{border:1px solid #000;padding:5px 7px;vertical-align:top}.trade-doc-table th{font-weight:700;text-align:center;background:#f0f0f0}.trade-doc-table td.right{text-align:right}.trade-doc-table td.center{text-align:center}.trade-doc-table tr.total-row td{font-weight:700}.trade-doc-invoice-table{table-layout:fixed}.trade-doc-invoice-table th{font-weight:700;color:#000;background:#f0f0f0}.trade-doc-invoice-table .ci-col-mark{width:9%}.trade-doc-invoice-table .ci-col-barcode{width:16%;word-break:break-all}.trade-doc-invoice-table .ci-col-desc{width:21%}.trade-doc-invoice-table .ci-col-pack-inner,.trade-doc-invoice-table .ci-col-pack-outer{width:8%}.trade-doc-invoice-table .ci-col-qty{width:10%}.trade-doc-invoice-table .ci-col-price,.trade-doc-invoice-table .ci-col-amount{width:13%}.trade-doc-invoice-table .ci-num{text-align:right}.trade-doc-invoice-table .ci-desc-cell{white-space:pre-wrap}.trade-doc-invoice-table .ci-total-label,.trade-doc-invoice-table .ci-total-value{font-weight:700}.trade-doc-invoice-table tr.total-row td{vertical-align:middle}.trade-doc-pl-stack{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:auto auto auto auto;border:1px solid #000;margin-bottom:8px}.trade-doc-pl-stack .trade-doc-pl-cell{padding:4px 8px;border-bottom:1px solid #000;font-size:11px;box-sizing:border-box}.trade-doc-pl-shipper{grid-column:1 / 3;grid-row:1;border-right:1px solid #000}.trade-doc-pl-soldto{grid-column:1 / 3;grid-row:2;border-right:1px solid #000}.trade-doc-pl-invoice-no{grid-column:3;grid-row:1}.trade-doc-pl-invoice-date{grid-column:4;grid-row:1;border-left:1px solid #000}.trade-doc-pl-remarks{grid-column:3 / 5;grid-row:2 / 5;border-bottom:none}.trade-doc-pl-port-loading{grid-column:1;grid-row:3;border-right:1px solid #000}.trade-doc-pl-port-dest{grid-column:2;grid-row:3;border-right:1px solid #000}.trade-doc-pl-shipping-method{grid-column:1;grid-row:4;border-right:1px solid #000;border-bottom:none}.trade-doc-pl-sailing{grid-column:2;grid-row:4;border-right:1px solid #000;border-bottom:none}.trade-doc-pl-table{table-layout:fixed}.trade-doc-pl-table th{font-weight:700;color:#000;background:#f0f0f0}.trade-doc-pl-table .pl-col-mark{width:9%}.trade-doc-pl-table .pl-col-barcode{width:14%;word-break:break-all}.trade-doc-pl-table .pl-col-desc{width:24%}.trade-doc-pl-table .pl-col-qty,.trade-doc-pl-table .pl-col-net,.trade-doc-pl-table .pl-col-gross,.trade-doc-pl-table .pl-col-ctns,.trade-doc-pl-table .pl-col-measure{width:10%}.trade-doc-pl-table .pl-num{text-align:right}.trade-doc-pl-table .pl-desc-cell{white-space:pre-wrap}.trade-doc-pl-table .pl-total-label,.trade-doc-pl-table .pl-total-value{font-weight:700}.trade-doc-pl-table tr.total-row td{vertical-align:middle}.trade-doc-footer-sign-only{grid-template-columns:1fr 1fr}.trade-doc-footer-sign-only .trade-doc-signed-area{grid-column:2}.trade-doc-footer{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:16px;align-items:start}.trade-doc-signed-area{font-size:11px;text-align:left}.trade-doc-sign-space{min-height:72px;margin-top:8px}.trade-doc-signed{margin-top:20px;font-size:11px}.trade-doc-bank{margin-top:0;font-size:11px;line-height:1.6}.trade-doc-bank p{margin:2px 0}.customs-doc-root{font-family:SimSun,Song,serif;font-size:10px;color:#000;background:#fff;max-width:297mm;margin:0 auto;padding:8mm 10mm;box-sizing:border-box}.customs-doc-title{font-size:16px;font-weight:700;text-align:center;margin:0 0 8px;letter-spacing:2px}.customs-doc-header{width:100%;border-collapse:collapse;font-size:10px;margin-bottom:0}.customs-doc-header td{border:1px solid #000;padding:4px 6px;vertical-align:top}.customs-doc-table{width:100%;border-collapse:collapse;font-size:10px}.customs-doc-table th,.customs-doc-table td{border:1px solid #000;padding:3px 5px;vertical-align:top}.customs-doc-table th{background:#f0f0f0;text-align:center;font-weight:700}.customs-doc-table .sub-row td{border-top:none;padding-top:0}.customs-doc-label{font-weight:700;display:block;margin-bottom:1px;color:#555}.invoice-line-editor-table .ant-table-cell{padding:10px 8px;vertical-align:middle}.invoice-line-editor-table .ant-input,.invoice-line-editor-table .ant-input-number,.invoice-line-editor-table .ant-select-selector{min-height:32px}.invoice-line-editor-table .ant-input-number-input{min-height:30px}.invoice-line-editor-summary-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border:1px solid;border-top:none;font-size:13px}@media print{@page{size:A4;margin:10mm}@page landscape{size:A4 landscape;margin:8mm}.no-print,body.contract-preview-page .ant-layout-sider,body.contract-preview-page .app-header,body.trade-doc-page .ant-layout-sider,body.trade-doc-page .app-header,body.trade-doc-page .trade-doc-toolbar{display:none!important}body.trade-doc-page .app-content{padding:0!important;background:#fff!important}body.trade-doc-page .app-shell{min-height:auto!important}.trade-doc-root,.customs-doc-root{max-width:none;margin:0;padding:0}.customs-doc-root{page:landscape}}.contract-html-document{max-width:900px;margin:0 auto;padding:16px 24px 48px;background:#fff;color:#000000e0;font-size:14px;line-height:1.6}.contract-html-document .rmb-purchase-grid{margin-top:16px}@media print{.no-print{display:none!important}.contract-html-document{padding:0;max-width:none}}.contract-preview-root{font-family:Times New Roman,Times,serif;color:#000;background:#fff;max-width:210mm;margin:0 auto;padding:12mm 16mm;box-sizing:border-box}.contract-preview-toolbar{margin-bottom:16px}.contract-preview-root .sc-title{font-size:18px;font-weight:700;text-align:center;margin:0 0 8px}.contract-preview-root .sc-subtitle{font-size:14px;text-align:center;margin:0 0 16px;white-space:pre-wrap}.contract-preview-root .sc-sales-heading{font-size:18px;font-weight:700;text-align:center;margin:0 0 12px}.contract-preview-root .sc-meta{font-size:11px;text-align:right;margin:4px 0}.contract-preview-root .sc-to{font-size:11px;text-align:left;margin:12px 0 4px}.contract-preview-root .sc-address{font-size:11px;text-align:left;margin:0 0 12px;white-space:pre-wrap}.contract-preview-root .sc-ports{display:flex;justify-content:space-between;font-size:11px;margin-bottom:16px;gap:16px}.contract-preview-root .sc-note{font-size:11px;margin-bottom:12px;color:#333}.contract-preview-root .sc-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.contract-preview-root .sc-table th,.contract-preview-root .sc-table td{border:1px solid #000;padding:6px 8px;vertical-align:top;word-break:break-word}.contract-preview-root .sc-table th{font-weight:400;text-align:center}.contract-preview-root .sc-col-a{width:10%}.contract-preview-root .sc-col-b{width:28%}.contract-preview-root .sc-col-c,.contract-preview-root .sc-col-d{width:10%;text-align:right}.contract-preview-root .sc-col-e{width:12%;text-align:right}.contract-preview-root .sc-col-f{width:15%;text-align:right}.contract-preview-root .sc-col-g{width:12%;text-align:right}.contract-preview-root .sc-col-cn{width:10%}.contract-preview-root .sc-col-delivery{width:9%;text-align:center}.contract-preview-root .sc-col-remarks{width:12%}.contract-preview-root .sc-num{text-align:right}.contract-preview-root .sc-desc-cell{white-space:pre-wrap}.contract-preview-root .sc-total-label,.contract-preview-root .sc-total-value{font-weight:700}.contract-preview-root .sc-total-row td{vertical-align:middle}.contract-preview-root .sc-tolerance td,.contract-preview-root .sc-etd-row td,.contract-preview-root .sc-payment-row td{border:1px solid #000;text-align:left;vertical-align:middle}.contract-preview-root .sc-etd-date{font-weight:700;color:#c00}.contract-preview-root .sc-after-table{margin-top:20px;font-size:11px;line-height:1.45;font-weight:700;color:#000}.contract-preview-root .sc-bank-line,.contract-preview-root .sc-bank-heading{margin:4px 0;font-size:11px;white-space:pre-wrap;font-weight:700;color:#000}.contract-preview-root .sc-bank-heading{font-weight:700}.contract-preview-root .sc-spacer{height:11px}.contract-preview-root .sc-signatures{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%;box-sizing:border-box;font-size:11px;margin-top:16px;align-items:baseline;column-gap:0}.contract-preview-root .sc-sellers,.contract-preview-root .sc-sellers-block{grid-column:1;justify-self:start;text-align:left}.contract-preview-root .sc-seller-sign-date{margin:6px 0 0;font-size:10px}.contract-preview-root .sc-seller-seal{display:block;margin-top:6px;max-width:100px;max-height:100px;object-fit:contain}.contract-preview-root .sc-buyers{grid-column:2;justify-self:center;text-align:center}.contract-preview-root .sc-signatures-rspace{grid-column:3;min-height:1.2em;min-width:0}@media print{@page{size:A4;margin:0}.no-print,body.contract-preview-page .app-shell,body.contract-preview-page .ant-layout-sider,body.contract-preview-page .app-header,body.contract-preview-page .contract-preview-toolbar{display:none!important}body.contract-preview-page .app-content{padding:0!important;background:#fff!important}body.contract-preview-page .app-shell{min-height:auto!important}body.contract-preview-page .ant-layout,body.contract-preview-page .ant-layout-content{margin:0!important;padding:0!important;background:#fff!important}body.contract-preview-page>*:not(.app-shell),body.contract-preview-page .app-shell>*{visibility:hidden}body.contract-preview-page .contract-preview-root,body.contract-preview-page .contract-preview-root *,body.contract-preview-page .contract-html-document,body.contract-preview-page .contract-html-document *{visibility:visible}body.contract-preview-page .contract-preview-root{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:12mm 16mm;box-sizing:border-box}body.contract-preview-page .contract-html-document{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0;box-sizing:border-box}}body{margin:0;background:#f5f7fb}.app-shell{min-height:100vh}.brand{height:64px;display:flex;align-items:center;padding:0 24px;font-weight:700;font-size:18px}.app-header{background:#fff;border-bottom:1px solid #edf0f5;display:flex;align-items:center}.app-header-content{width:100%;justify-content:space-between}.app-content{padding:24px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef4ff,#f8fbff)}.login-card{width:400px}.toolbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.toolbar-left,.toolbar-right{display:flex;gap:8px}.full-width{width:100%}.section-gap{margin-top:16px}
