.data-build{--db-line:var(--t-line,#2b3546);--db-ink:var(--t-ink,#e7edf7);--db-muted:var(--t-muted,#97a5b9);--db-panel:var(--t-panel,#131b29);--db-accent:var(--t-accent,#7fa8ee);--db-good:#79bea9;--db-warn:#e1ba75;color:var(--db-ink);font-size:12px;line-height:1.7}
.data-build h2,.data-build h3,.data-build p{margin:0}.data-build h2{font-size:17px;font-weight:600}.data-build h3{font-size:13px;font-weight:600}.data-build p+p{margin-top:8px}.db-muted{color:var(--db-muted)}.db-number{font-family:Consolas,"Courier New",monospace;font-variant-numeric:tabular-nums}.db-eyebrow{color:var(--db-accent);font-size:10px;letter-spacing:1.6px;text-transform:uppercase}
.db-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border:1px solid var(--db-line);border-top:2px solid var(--db-accent);padding:23px 24px;background:linear-gradient(125deg,#19263a 0%,var(--db-panel) 78%);border-radius:6px;margin-bottom:14px}.db-hero h2{font-size:22px;margin:6px 0 9px}.db-hero p{max-width:870px;color:var(--db-muted)}.db-hero .db-label{flex:none;margin-top:6px}.db-label{display:inline-block;border:1px solid var(--db-line);background:#182438;color:var(--db-accent);padding:3px 8px;border-radius:4px;font-size:10px;white-space:nowrap}.db-label.warn{color:var(--db-warn);background:#352d21;border-color:#605038}.db-label.good{color:var(--db-good);background:#17332e;border-color:#32574e}
.db-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.db-kpi{border:1px solid var(--db-line);padding:14px 17px;background:var(--db-panel);border-radius:5px;min-width:0}.db-kpi>span{display:block;color:var(--db-muted);font-size:10px}.db-kpi strong{display:block;font:22px/1.5 Consolas,monospace;color:var(--db-ink);margin:5px 0}.db-kpi small{display:block;color:var(--db-muted);font-size:10px;overflow-wrap:anywhere}.db-section{background:var(--db-panel);border:1px solid var(--db-line);border-radius:6px;margin-bottom:14px;padding:20px}.db-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.db-section-heading p{font-size:11px;color:var(--db-muted);margin-top:4px}.db-section-heading>span{color:var(--db-muted);font-size:10px;flex:none}.db-section-heading h2>small{font:11px Consolas,monospace;color:var(--db-accent);margin-right:9px}.db-grid-two{display:grid;grid-template-columns:1.12fr 1fr;gap:14px}.db-grid-two>.db-section{margin-bottom:14px;min-width:0}.db-full{grid-column:1/-1}
.db-notice{font-size:11px;border-left:2px solid var(--db-warn);padding:10px 13px;background:#272a2b;color:#d3bb91;margin:12px 0;line-height:1.8}.db-notice.info{border-color:var(--db-accent);background:#1a2739;color:#b2c6e5}.db-notice.good{border-color:var(--db-good);background:#1a2c29;color:#a8cbbf}.db-empty{padding:28px 18px;text-align:center;color:var(--db-muted);border:1px dashed var(--db-line);border-radius:5px}.db-inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.db-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:14px}.data-build button,.data-build select,.data-build input{font-size:11px}.data-build button{padding:7px 11px}.data-build a{color:var(--db-accent);text-decoration:none}.data-build a:hover{text-decoration:underline}.db-link-button{border:0!important;background:none!important;padding:0!important;color:var(--db-accent)!important;text-align:left}.db-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.db-settings label{font-size:10px;color:var(--db-muted);margin:0}.db-settings input,.db-settings select{padding:7px 9px;width:100%;margin-top:4px}.db-settings .db-wide{grid-column:span 2}.db-source-label{display:block;margin:12px 0!important;font-size:11px!important;color:var(--db-muted)}.db-source-label input{margin-top:5px;width:100%}.db-check{display:flex;align-items:flex-start;gap:9px;margin:12px 0!important;color:var(--db-muted);font-size:11px!important}.db-check input{flex:none;width:auto;margin:4px 0 0!important}.db-mode{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.db-mode button.active{border-color:var(--db-accent)!important;background:#25364e!important;color:var(--db-ink)!important}.db-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.db-upload-card{border:1px solid var(--db-line);padding:12px;border-radius:5px;min-width:0}.db-upload-card h3{font-size:11px}.db-upload-card small{display:block;color:var(--db-muted);font-size:10px;margin:3px 0 9px}.db-upload-card input{display:block;width:100%;font-size:10px;padding:5px}.db-upload-card a{display:block;font-size:10px;margin-top:6px}.db-upload-card .db-required{color:var(--db-warn);font-size:10px;margin-left:5px}.db-progress{border:1px solid var(--db-line);background:#172338;padding:12px 14px;margin-top:13px;border-radius:5px;color:#bacde6}.db-progress strong{display:block;font-size:11px}.db-progress p{font-size:11px;margin-top:3px;color:var(--db-muted)}.db-progress[hidden]{display:none}.db-progress:before{content:"";display:block;width:100%;height:2px;background:linear-gradient(90deg,var(--db-accent),#243650);margin-bottom:9px}
.db-table-wrap{max-width:100%;overflow:auto}.data-build table{font-size:11px}.data-build th{font-size:10px;background:#192334;color:var(--db-muted);padding:9px 10px}.data-build td{padding:10px;border-bottom:1px solid var(--db-line);color:var(--db-ink);font-size:11px}.data-build td small{font-size:10px;color:var(--db-muted);display:block}.data-build code{font:10px/1.7 Consolas,monospace;overflow-wrap:anywhere;color:#9dbbe1}.db-hash{max-width:360px;word-break:break-all}.db-sources-table td:first-child{min-width:105px}.db-sources-table td:nth-child(2){min-width:170px}.db-sources-table td:nth-child(3){min-width:180px}.db-stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.db-stage{border:1px solid var(--db-line);background:#162131;border-radius:4px;padding:13px 11px;min-width:0}.db-stage b{font:18px Consolas,monospace;color:var(--db-accent);display:block;margin-bottom:6px}.db-stage strong{display:block;font-size:12px;margin-bottom:5px}.db-stage p{color:var(--db-muted);font-size:10px;line-height:1.8}.db-stage small{display:block;color:#789bc5;margin-top:8px;font-size:10px}.db-fields-tools{display:flex;justify-content:space-between;gap:12px;margin:12px 0;flex-wrap:wrap}.db-field-tabs{display:flex;gap:5px;flex-wrap:wrap}.db-field-tabs button{font-size:10px;padding:5px 8px}.db-field-tabs .active{border-color:var(--db-accent)!important;color:var(--db-accent)!important}.db-fields-tools input{width:220px;padding:6px 9px}.db-fields-table td:nth-child(1){min-width:175px}.db-fields-table td:nth-child(3){min-width:125px}.db-fields-table td:nth-child(4){min-width:270px}.db-field-status{font-size:10px;color:var(--db-muted)}.db-field-status.good{color:var(--db-good)}.db-field-status.warn{color:var(--db-warn)}.db-acquisition td:nth-child(2){min-width:200px}.db-acquisition td:last-child{min-width:220px}.db-acquisition small{line-height:1.8}.db-list{display:grid;gap:8px;margin:12px 0}.db-list-item{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--db-line);padding:8px 0}.db-list-item strong{min-width:90px;font-size:11px}.db-list-item p{font-size:11px;color:var(--db-muted)}
.db-result{scroll-margin-top:18px}.db-result-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 14px}.db-result-date{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.db-result-date select{max-width:150px}.db-result-date input[type=range]{min-width:140px;max-width:250px;padding:0;accent-color:var(--db-accent)}.db-result-date button{padding:6px 9px}.db-charts{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.db-chart-card{border:1px solid var(--db-line);background:#101a27;border-radius:5px;padding:15px;min-width:0}.db-chart-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.db-chart-head h3{font-size:12px}.db-chart-head select{max-width:180px;padding:5px 7px}.db-chart svg{width:100%;display:block;height:auto;min-height:230px}.db-chart-caption{font-size:10px;color:var(--db-muted);margin-top:8px!important}.db-chart .db-grid-line{stroke:#26354b;stroke-width:1}.db-chart .db-axis{fill:#8b9db5;font:10px Consolas,monospace}.db-chart .db-fit-line{fill:none;stroke:var(--db-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.db-chart .db-observed-call{fill:#dea58d;stroke:#192334;stroke-width:1}.db-chart .db-observed-put{fill:#7fc6b0;stroke:#192334;stroke-width:1}.db-chart .db-node{cursor:pointer}.db-chart .db-node:hover,.db-chart .db-node:focus{stroke:#fff;stroke-width:2;outline:0}.db-chart .db-selected-node{stroke:#fff;stroke-width:2.3}.db-legend{display:flex;gap:14px;font-size:10px;color:var(--db-muted);margin-top:5px}.db-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.db-legend .db-fit{width:17px;height:2px;border-radius:0;background:var(--db-accent);vertical-align:middle}.db-legend .db-call{background:#dea58d}.db-legend .db-put{background:#7fc6b0}.db-point-summary{padding:9px 11px;margin:10px 0 0;border:1px solid var(--db-line);border-radius:4px;background:#172338;color:#b5c7df;font-size:11px}.db-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.db-result-metrics .db-kpi strong{font-size:19px}.db-quality-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}.db-quality-item{border:1px solid var(--db-line);border-left:2px solid var(--db-warn);padding:10px;background:#192333;border-radius:4px;font-size:11px}.db-quality-item.good{border-left-color:var(--db-good)}.db-quality-item>strong{display:block;margin-bottom:3px}.db-quality-item>p{color:var(--db-muted);font-size:10px}.db-row-table{max-height:440px;overflow:auto}.db-row-table thead{position:sticky;top:0;z-index:1}.db-row-table td{white-space:nowrap;font-family:Consolas,"Microsoft YaHei",monospace}.db-row-table tr.selected td{background:#26364b}.db-row-table tr:hover td{background:#1b2b3f}.db-evidence{border:1px solid var(--db-line);border-radius:5px;padding:14px;margin:12px 0;background:#101a27}.db-evidence-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.db-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;font-size:11px}.db-evidence-grid span{display:block;font-size:10px;color:var(--db-muted)}.db-evidence-grid strong{font:12px/1.8 Consolas,"Microsoft YaHei",monospace;overflow-wrap:anywhere}.db-evidence details{margin-top:10px}.db-evidence pre{max-height:280px;background:#172231;color:#b5c4d8}.db-downloads{display:flex;gap:7px;flex-wrap:wrap}.db-downloads a{display:block;border:1px solid var(--db-line);background:#19283b;border-radius:4px;padding:7px 11px;font-size:11px}.db-footer-flow{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #3b5374;background:#19283c;border-radius:6px;padding:18px 20px}.db-footer-flow h3{font-size:14px}.db-footer-flow p{font-size:11px;color:var(--db-muted);margin-top:4px}.db-footer-flow .db-actions{margin:0;flex:none}.db-technical summary{font-size:11px;color:var(--db-muted)}.db-technical pre{background:#101a27;color:#afc1d7;font-size:10px;max-height:350px}.db-error{color:#efb4a2;border-color:#694334;background:#322421}.db-hidden{display:none!important}
@media(max-width:1250px){.db-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.db-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.db-charts{grid-template-columns:1fr}.db-grid-two{grid-template-columns:1fr}}
@media(max-width:760px){.db-hero{padding:17px;display:block}.db-hero h2{font-size:19px}.db-hero .db-label{margin-top:12px}.db-kpis,.db-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.db-kpi{padding:12px}.db-kpi strong{font-size:18px}.db-section{padding:15px}.db-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.db-upload-grid,.db-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.db-settings .db-wide{grid-column:1/-1}.db-section-heading>span{display:none}.db-result-bar,.db-footer-flow{display:block}.db-result-date{margin-top:10px}.db-footer-flow .db-actions{margin-top:12px}.db-quality-list{grid-template-columns:1fr}.db-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.db-fields-tools input{width:100%}.db-chart-card{padding:10px}.db-chart svg{min-height:190px}}
@media(prefers-reduced-motion:reduce){.data-build *{transition:none!important;animation:none!important}}
.db-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.db-sheet-label{display:block;font-size:9px!important;color:var(--db-muted);margin-top:6px!important}.db-sheet-label input{margin-top:4px;padding:5px 7px!important}.data-build [hidden]{display:none!important}.db-error-text{color:#efb4a2}.db-row-heading,.db-download-heading{margin-top:21px}.db-term-model{fill:var(--db-accent);stroke:#192334;stroke-width:1}.db-stages{grid-template-columns:repeat(7,minmax(0,1fr))}.data-build details{margin-top:13px}.data-build details>summary{cursor:pointer;padding:7px 0}.data-build pre{white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;font:10px/1.8 Consolas,monospace;padding:13px;border-radius:4px}.db-section-heading h2 small{font:11px Consolas,monospace;color:var(--db-accent);margin-right:9px}.data-build button:focus-visible,.data-build a:focus-visible,.data-build input:focus-visible,.data-build select:focus-visible{outline:2px solid var(--db-accent);outline-offset:2px}.db-chart rect.db-node:focus-visible{stroke:#fff;stroke-width:2;outline:none}.data-build button:disabled{opacity:.45;cursor:not-allowed}.db-stage{padding:13px 10px}.db-history .db-table-wrap{max-height:400px}
@media(max-width:1400px){.db-stages{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.db-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.db-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.db-upload-grid{grid-template-columns:1fr}.db-result-date input[type=range]{min-width:110px}.db-inline input[type=search]{max-width:180px}.db-section-heading{gap:10px}.db-section-heading h2{font-size:15px}}
.db-handoff-pack{margin-top:20px;padding:16px;border:1px solid var(--db-line);border-radius:5px;background:#142235}.db-handoff-version{padding-top:13px;margin-top:13px;border-top:1px solid var(--db-line)}.db-handoff-version .db-downloads{margin-top:9px}.db-handoff-pack .db-section-heading{margin-bottom:0}.db-handoff-pack .db-section-heading>button{flex:none}
.db-chart{min-height:240px}.db-chart>.db-empty{min-height:230px;display:flex;align-items:center;justify-content:center}.db-chart-card.db-full .db-chart{min-height:200px}@media(max-width:760px){.db-chart{min-height:200px}.db-chart>.db-empty{min-height:190px}}
.db-neighbor-picker{margin-top:11px;padding:11px;border:1px solid var(--db-accent);border-radius:5px;background:#19283c}.db-neighbor-picker p{font-size:10px;color:var(--db-muted)}.db-neighbor-picker p strong{color:var(--db-ink)}.db-neighbor-picker small{font-size:10px;color:var(--db-muted)}.db-neighbor-options{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.db-neighbor-options button{display:grid;text-align:left;gap:2px;padding:8px 10px;background:var(--db-panel);border:1px solid var(--db-line);border-radius:4px;color:var(--db-ink)}.db-neighbor-options button strong{font:11px Consolas,monospace}.db-neighbor-options button span{font-size:10px;color:var(--db-muted)}.db-neighbor-options button:hover{border-color:var(--db-accent)}
