:root{--bg:#0b0f19;--panel:#111827;--panel2:#0f172a;--line:#243149;--muted:#7e8ca5;--text:#dfe7f4;--sky:#38bdf8}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Noto Sans SC,sans-serif;color:var(--text);background:#0b0f19;font-size:13px}button,input,select{font:inherit}.hidden{display:none!important}.landing{min-height:100%;background:radial-gradient(circle at 70% 25%,#1b2350 0,transparent 36%),#0d1019}.landing header{height:70px;border-bottom:1px solid #242834;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.landing header p{color:#818a9e;font-size:11px}.logo{display:flex;align-items:center;gap:8px}.logo span{color:#a477ff;border:1px solid #7452d8;border-radius:9px;width:34px;height:34px;display:grid;place-items:center;font-size:22px}.logo b{font-size:18px;color:#fff}.logo em{font-style:normal;color:#70778a;font-size:11px}.landing main{max-width:980px;margin:11vh auto 0;display:grid;grid-template-columns:1fr .9fr;gap:65px;align-items:center}.hero>span{font:600 10px DM Mono;letter-spacing:.12em;color:#7d92ff}.hero h1{font-size:41px;line-height:1.28;margin:14px 0}.hero h1 i{font-style:normal;color:#9479ff}.hero p{color:#8d98ab;line-height:1.8}.drop{height:270px;border:1px dashed #6453ae;background:#141828bd;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;cursor:pointer;box-shadow:0 18px 50px #0003}.drop.drag,.drop:hover{border-color:#9c7cff;background:#171b2d}.drop input,.file-upload input{display:none}.drop>strong{font-size:38px;color:#a287ff}.drop div{display:grid;text-align:center;gap:7px}.drop b{font-size:16px}.drop small{color:#828ca0}.app{height:100%;display:flex;flex-direction:column;overflow:hidden}.topbar{height:70px;flex:none;background:#15171e;border-bottom:1px solid #262a34;display:flex;align-items:center;padding:0 28px;gap:30px}.top-file{border-left:1px solid #323744;padding-left:25px;display:flex;align-items:center;gap:9px}.top-file>span{font:600 9px DM Mono;background:#3a2331;color:#fb7185;border-radius:4px;padding:6px 4px}.top-file div{display:grid}.top-file b{font-size:11px}.top-file small{font-size:9px;color:#7d879b}.top-right{margin-left:auto;color:#788398;font-size:10px}.top-right i{display:inline-block;width:7px;height:7px;background:#20bb8b;border-radius:50%;margin-right:6px}.top-right button{margin-left:12px;border:1px solid #343a48;background:#212632;color:#bec7d8;border-radius:6px;padding:6px 9px;cursor:pointer}.workgrid{flex:1;min-height:0;display:flex}.file-panel{width:245px;flex:none;background:#11151e;border-right:1px solid #262c39;display:flex;flex-direction:column}.side-title{height:48px;padding:0 15px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #252b38;font-weight:600}.side-title span{color:#8b6ee8}.file-upload{padding:10px;display:flex;gap:6px}.file-upload label,.file-upload button{border:1px solid #303746;border-radius:6px;background:#1a202b;color:#aeb8cb;padding:7px;cursor:pointer;font-size:10px}.file-upload label{flex:1;text-align:center}.tree{padding:5px 10px;flex:1}.tree>p{font-size:9px;color:#68758d;margin:10px 3px}.tree-file{width:100%;display:flex;align-items:center;gap:8px;border:1px solid #305173;background:#15253a;border-radius:7px;color:#d9e4f2;padding:8px;text-align:left}.tree-file>span{font:600 8px DM Mono;background:#512536;color:#fb7185;padding:5px 3px;border-radius:3px}.tree-file div{display:grid;min-width:0}.tree-file b{font-size:10px;overflow:hidden;text-overflow:ellipsis}.tree-file small{font-size:8px;color:#728198}.tree-file i{margin-left:auto;color:#22c994;font-size:8px}.attachment-empty{border:1px dashed #2c3340;border-radius:6px;color:#59667c;text-align:center;padding:18px;font-size:9px}.side-actions{border-top:1px solid #272d39;padding:10px;display:grid;gap:7px}.side-actions button{border:1px solid #343b49;background:#1a202a;color:#aab5c7;border-radius:6px;padding:8px;cursor:pointer}.side-actions small{color:#657187;text-align:center;font-size:8px}.viewer-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:#0b0f19;position:relative}.viewer-toolbar{position:absolute;left:18px;top:16px;z-index:20;background:#0f172aeb;border:1px solid #334155;border-radius:10px;padding:4px;display:flex;align-items:center;gap:3px;box-shadow:0 8px 18px #00000059}.viewer-toolbar button{width:34px;height:34px;border:1px solid transparent;background:none;color:#94a3b8;border-radius:6px;cursor:pointer}.viewer-toolbar button:hover,.viewer-toolbar button.active{background:#38bdf82e;border-color:#38bdf880;color:#38bdf8}.viewer-toolbar>i{width:1px;height:18px;background:#334155;margin:0 2px}.viewer{flex:1;min-height:0;position:relative;overflow:hidden;background:#0b0f19}.viewer.box-mode{cursor:crosshair}.stage{position:absolute;transform-origin:0 0;background:#fff;box-shadow:0 3px 15px #000;line-height:0}.stage canvas{display:block}.overlay{position:absolute;inset:0;width:100%;height:100%;line-height:normal;touch-action:none}.overlay .result{pointer-events:auto}.overlay .crystal{cursor:grab}.overlay .crystal text{font:800 11px DM Mono;fill:#fff;pointer-events:none}.overlay .bubble-delete{cursor:pointer}.viewer-status{height:28px;flex:none;background:#101722;border-top:1px solid #243044;display:flex;align-items:center;gap:20px;padding:0 12px;color:#718096;font-size:9px}.viewer-status span:last-child{color:#37bdf7}.render-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:10px;background:#0b0f19;color:#8d99ae;z-index:12}.render-loading span{width:26px;height:26px;border:2px solid #334155;border-top-color:#38bdf8;border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.radar{position:absolute;transform:translate(-50%,-50%);z-index:40;display:grid;place-items:center;pointer-events:none;color:#66d3fa}.radar i{width:85px;height:85px;border-radius:50%;border:1px solid #38bdf8;background:conic-gradient(rgba(56,189,248,.65),transparent 18%);box-shadow:0 0 20px #38bdf866;animation:spin 1s linear infinite}.radar b{font-size:9px;margin-top:7px}.fair-panel{width:570px;flex:none;background:#0f172a;border-left:1px solid #26334a;display:flex;flex-direction:column;position:relative;transition:width .2s}.fair-panel.closed{width:0!important}.resize-handle{position:absolute;left:-6px;top:0;bottom:0;width:12px;cursor:col-resize;z-index:25}.panel-toggle{position:absolute;left:-46px;top:16px;width:38px;height:38px;border:1px solid #334155;border-radius:8px;background:#1e293b;color:#cbd5e1;z-index:30;cursor:pointer}.fair-panel.closed>*:not(.panel-toggle){display:none}.fair-head{height:64px;padding:10px 52px 10px 13px;border-bottom:1px solid #263248;display:flex;align-items:center;justify-content:space-between;flex:none}.fair-head>div{display:flex;align-items:center;gap:7px}.fair-head span{color:#38bdf8}.fair-head b{font-size:12px}.fair-head em{font-style:normal;font-size:9px;color:#38bdf8;background:#1e293b;border-radius:10px;padding:3px 6px}.fair-head button{border:1px solid #334155;background:#1e293b;color:#94a3b8;border-radius:5px;cursor:pointer}.fair-head button.active{color:#38bdf8;border-color:#2d7aa0}.fair-head label{font-size:9px;color:#9aa6bb;background:#080f1e;border:1px solid #253148;border-radius:5px;padding:5px}.fair-head label b{color:#38bdf8;font:600 10px DM Mono;margin:0 6px}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px 13px;border-bottom:1px solid #263248;background:#121b2d}.metadata label{font-size:9px;color:#8793a8}.metadata input{display:block;width:100%;margin-top:3px;background:#080f1e;border:1px solid #2a3850;border-radius:5px;padding:6px 8px;color:#d6deeb;outline:0}.metadata input:focus{border-color:#38bdf8}.table-wrap{flex:1;min-height:0;overflow:auto;padding:8px}.empty-table{height:100%;display:grid;place-content:center;text-align:center;color:#5f6c83}.empty-table span{font-size:27px}.empty-table p{font-size:11px}.empty-table small{font-size:9px}.table-wrap table{border-collapse:collapse;min-width:720px;width:100%;font-size:9px;background:#080f1eb3;border:1px solid #283449}.table-wrap th{position:sticky;top:0;background:#202b3e;color:#8f9bb0;padding:7px 4px;white-space:nowrap}.table-wrap td{border-top:1px solid #222f43;padding:5px 3px;text-align:center;color:#7f8ca2}.table-wrap tr.hovered{background:#38bdf81f}.table-wrap input,.table-wrap select{width:100%;min-width:48px;background:#0b1322;border:1px solid #27354a;border-radius:4px;color:#cbd7e8;padding:5px;font:500 9px DM Mono}.table-wrap td:nth-child(3) input{color:#a7e3fb;font-weight:600}.table-wrap button{border:0;background:none;color:#64748b;cursor:pointer}.table-wrap button:hover{color:#f87171}.fair-footer{height:48px;border-top:1px solid #263248;display:flex;align-items:center;justify-content:space-between;padding:0 10px;flex:none}.fair-footer span{font-size:8px;color:#66758b}.fair-footer button{border:1px solid #15955f;background:#0c9d64;color:#fff;border-radius:6px;padding:7px 10px;font-size:9px;cursor:pointer}.fair-footer button:disabled{background:#1e293b;border-color:#334155;color:#59677d}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,14px);opacity:0;background:#20283a;color:#fff;border:1px solid #3a475f;border-radius:7px;padding:9px 13px;font-size:10px;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:1050px){.file-panel{width:190px}.fair-panel{width:460px}.logo em{display:none}}@media print{.topbar,.file-panel,.viewer-toolbar,.fair-panel,.viewer-status{display:none!important}.viewer-panel,.viewer,.stage{position:static!important;transform:none!important}.stage{margin:auto}.workgrid{display:block}}.tree-file>span.cad{background:#203d58;color:#65d0ff}.tree-file>span.pdf{background:#512536;color:#fb7185}.tree-file+.tree-file{margin-top:6px}.cad-root{position:absolute;inset:0;background:#0b0f19}.cad-root canvas{display:block;width:100%;height:100%;cursor:grab}.cad-root canvas:active{cursor:grabbing}.top-file>span{min-width:30px;text-align:center}.landing{background:radial-gradient(circle at 50% 28%,rgba(91,61,196,.22),transparent 34%),#0d0f15}.landing main{max-width:940px;margin:5vh auto 0;display:flex;flex-direction:column;gap:26px;text-align:center}.landing .hero h1{font-size:42px;margin:14px 0 10px;background:linear-gradient(95deg,#efeaff,#9f86ff 55%,#6fd4ff);-webkit-background-clip:text;color:transparent}.landing .hero p{max-width:720px;margin:auto}.hero-flow{display:flex;justify-content:center;align-items:center;gap:24px;margin:28px auto 8px}.hero-flow span{width:76px;height:76px;border:1px solid #3d4661;border-radius:18px;display:grid;place-items:center;font-size:36px;background:#161b28d1;box-shadow:0 12px 35px #0000003d}.hero-flow i{font-style:normal;color:#6f7a94;font-size:26px}.hero-flow .flow-cad{color:#70c5ff}.hero-flow .flow-core{color:#9a7cff}.hero-flow .flow-xls{color:#67d6a2}.landing .drop{width:620px;height:220px;margin:auto}.landing .drop em{font-style:normal;color:#7769bf;font-size:9px;margin-top:4px}.workflow-choices{width:760px;max-width:calc(100vw - 40px);display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 auto}.workflow-card{min-height:112px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;text-align:left;border:1px solid #343b50;border-radius:16px;background:linear-gradient(145deg,#171c29,#111620);color:#e5eaf4;padding:16px 17px;cursor:pointer;transition:.18s;box-shadow:0 12px 30px #00000029}.workflow-card:hover{transform:translateY(-2px);border-color:#7356dc;background:linear-gradient(145deg,#1d2133,#17182a);box-shadow:0 18px 38px #0000003d}.workflow-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;font-size:25px}.workflow-icon.cad{background:#132d43;color:#68c9ff}.workflow-icon.pdf{background:#34203c;color:#f48ba2}.workflow-card div{display:grid;gap:7px}.workflow-card b{font-size:14px}.workflow-card small{color:#818da1;font-size:9px;line-height:1.55}.workflow-card em{font-style:normal;color:#a995ff;font-size:9px;border:1px solid #514178;border-radius:18px;padding:5px 8px}.workflow-name{height:27px;display:flex;align-items:center;border:1px solid #35415a;border-radius:16px;background:#172236;color:#91d7ff;padding:0 11px;font-size:9px;font-weight:600}.pdf-active .workflow-name{border-color:#5d3e59;background:#2a1d2d;color:#ff9daf}@media(max-width:760px){.workflow-choices{grid-template-columns:1fr;width:calc(100vw - 32px)}.landing .drop{width:calc(100vw - 32px)}.workflow-name{display:none}}:root{--bg:#10151b;--panel:#151b22;--panel2:#11171e;--line:#2a333d;--muted:#8995a2;--text:#e6ebef;--sky:#1976a2}html,body,.landing{background:#10151b}.landing header,.topbar{height:58px;background:#151a20;border-color:#2a323c}.landing main{margin-top:4vh;gap:20px}.landing .hero h1{background:none;-webkit-text-fill-color:initial;color:#eef1f4;font-size:34px;letter-spacing:-.02em}.landing .hero p{color:#9aa5b1}.workflow-card,.landing .drop{box-shadow:none;background:#171d24;border-color:#303944;border-radius:8px}.workflow-card:hover{transform:none;background:#1a222b;border-color:#47758d;box-shadow:none}.workflow-icon{border-radius:5px}.workflow-card em{border-radius:4px;border-color:#36566a;color:#93c9e4}.topbar{padding:0 24px;gap:20px}.topbar .logo span,.landing .logo span{border-radius:5px;border-color:#45708c;color:#9fd3ec}.top-file{border-color:#313a44;padding-left:18px}.workflow-name{border-radius:4px;background:#18242d;border-color:#375364;color:#a9d4e7}.pdf-active .workflow-name{background:#20252b;border-color:#4a5963;color:#c8d3dc}.top-right button{border-radius:4px;background:#1b242d;border-color:#36434e}.workgrid{background:#10151b}.file-panel,.fair-panel{background:#151b22;border-color:#2a333d}.pdf-active .fair-panel{background:#151b22;box-shadow:none}.pdf-active .viewer-panel{background:#10151b}.pdf-active .viewer{background-image:none;background:#0f141a}.viewer-toolbar,.pdf-active .viewer-toolbar{top:14px;left:14px;padding:4px;gap:2px;border-radius:6px;border-color:#34404b;background:#1a2129;box-shadow:0 5px 14px #0000003d;-webkit-backdrop-filter:none;backdrop-filter:none}.viewer-toolbar button,.pdf-active .viewer-toolbar button{height:30px;min-width:30px;padding:0 8px;border-radius:4px;color:#b5c0ca}.viewer-toolbar button:hover,.viewer-toolbar button.active{background:#243946;border-color:#416c82;color:#e4f3fa}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled{gap:5px}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled:before,.pdf-active .viewer-toolbar button[data-mode=pan]:before,.pdf-active .viewer-toolbar button[data-mode=box]:before,.pdf-active .viewer-toolbar #fitView:before,.pdf-active .viewer-toolbar #toggleBubbles:before{content:none}.pdf-active .viewer-toolbar #fitView,.pdf-active .viewer-toolbar #toggleBubbles,.pdf-active .viewer-toolbar #zoomIn,.pdf-active .viewer-toolbar #zoomOut{width:30px;min-width:30px;padding:0;font-size:inherit}.toolbar-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled>span{display:none}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled>b{font-size:10px;font-weight:600}.viewer-toolbar>i{background:#3a4652}.viewer-status,.pdf-active .viewer-status{height:30px;background:#151b22;border-color:#2a333d;color:#83909c}.pdf-active .viewer-status span:first-child:before{content:none}.pdf-active .viewer-status span:nth-child(2):before{content:"滚轮缩放 · 空格/中键平移 · 双击适应";color:#71808d;margin-right:16px}.stage{box-shadow:0 2px 8px #00000073}.overlay .crystal,.overlay .callout{cursor:grab}.overlay .callout text{font:700 9px DM Mono;fill:#fff;pointer-events:none}.fair-head{height:58px;padding:9px 12px;border-color:#2b3540;background:#171e26}.pdf-active .fair-head{border-color:#2b3540}.pdf-active .fair-head b{color:#e7edf1}.fair-head em{background:#22303b;color:#a9d4e7;border-radius:4px}.fair-head .inspector-actions button{width:27px;height:27px;border-radius:4px;background:#1a222b;border-color:#34414c;color:#9daab5}.fair-head .inspector-actions button:hover,.fair-head .inspector-actions button.active{background:#263743;border-color:#4a7389;color:#d9ecf5}.sample-control{height:44px;border-color:#2b3540;color:#aab4bc}.sample-control button{border-radius:4px;background:#1a222b;border-color:#36434e;color:#d4e0e7}.table-wrap{background:#151b22;padding:8px}.marker-list{gap:4px}.marker-row{height:50px;border-radius:5px;background:#1a222b;border-color:#27323d}.marker-row:hover,.marker-row.hovered{background:#202d37;border-color:#426b80}.marker-row.selected{background:#223944;border-color:#4b8199;box-shadow:none}.marker-no{border-radius:4px;background:#294d61;color:#e6f3f8}.marker-state{border-radius:4px;background:#1c3833;border-color:#31584f;color:#9ed3bc}.marker-editor{margin-top:8px;border-radius:5px;background:#111820;border-color:#33434f}.editor-heading{height:44px;background:#18232c;border-color:#2d3c48}.editor-heading button{border-radius:3px;background:#2c2022;border-color:#6a4648;color:#e2a0a0}.dimension-fields input,.instrument-field select,.actual-grid input{border-radius:4px;background:#0e151c;border-color:#34434f}.dimension-fields input:focus,.instrument-field select:focus,.actual-grid input:focus{border-color:#4e8299;box-shadow:none}.fair-footer{height:50px;background:#171e26;border-color:#2b3540}.fair-footer button{border-radius:4px;background:#176f58;border-color:#278066;box-shadow:none}.empty-table{border-radius:5px;border-color:#35434e;background:#171f27}.file-panel .tree-file,.file-panel .tree-row.active .tree-file{border-radius:5px;background:#1a222b;border-color:#303b46}.file-panel .tree-row.active .tree-file{background:#20313b;border-color:#48758b}.file-panel .file-upload label,.file-panel .file-upload button,.file-panel .side-actions button{border-radius:5px}.file-panel .side-actions button:first-child{background:#1a6b88;border-color:#2f86a5}.cad-specs,.part-dims{border-radius:6px;background:#171f28;border-color:#34404c;box-shadow:0 8px 24px #0003}.pdf-active .viewer-toolbar .batch-action{display:none!important}.overlay .callout text{font:700 7px DM Mono;letter-spacing:0;fill:#fff;pointer-events:none}.pdf-active .viewer.scanning{cursor:progress}.overlay .scan-selection{stroke:#d79a35;animation:selectionPulse .75s ease-in-out infinite alternate}@keyframes selectionPulse{to{fill:#d79a352e;stroke:#f1ba56}}.pdf-active .viewer-toolbar #zoomOut .toolbar-icon{display:none}.pdf-active .viewer-toolbar #zoomOut:after{content:"−";font:500 17px/1 DM Mono;color:currentColor}.workgrid{position:relative}.file-panel{order:3;width:318px;border-right:0;border-left:1px solid #262c39}.viewer-panel{order:1}.fair-panel{order:2}.file-panel .side-title{justify-content:flex-start;height:50px;padding-left:20px}.file-panel .file-upload{padding:16px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid #29303d}.file-panel .file-upload label{height:136px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #2d3443;border-radius:14px;background:#151a24;color:#e1e7f1;font-size:12px}.file-panel .file-upload label:before{content:"⇧";width:46px;height:46px;display:grid;place-items:center;border-radius:11px;background:#241d3d;color:#a777ff;font-size:25px}.file-panel .file-upload label:after{content:"STEP、STP、PDF（最大 50MB）";font:500 8px DM Mono;color:#69758a}.file-panel .file-upload button{height:42px;color:#f2798a;border-color:#382b38;background:#171820}.file-panel .tree{padding:7px 15px}.file-panel .tree-row{position:relative;margin-bottom:7px}.file-panel .tree-file{min-height:58px;border-color:#333b4c;background:#171d28}.file-panel .tree-row.active .tree-file{border-color:#7554db;background:linear-gradient(90deg,#221d36,#28203f)}.file-panel .tree-file>span{width:42px;height:42px;display:grid;place-items:center;border-radius:8px}.file-panel .tree-file div{gap:4px}.file-panel .tree-file b{font-size:10px}.file-panel .tree-file small{font-size:8px}.file-panel .tree-remove{position:absolute;right:6px;top:4px;width:18px;height:18px;border:0;border-radius:50%;background:transparent;color:#56637a;opacity:0;cursor:pointer}.file-panel .tree-row:hover .tree-remove{opacity:1}.file-panel .tree-remove:hover{background:#3c202b;color:#fb7185}.file-panel .side-actions{padding:16px}.file-panel .side-actions button{height:42px}.file-panel .side-actions button:first-child{border-color:#7448ec;background:linear-gradient(90deg,#7042e9,#9649ff);color:#fff}.cad-active .fair-panel{display:none}.cad-active .viewer-panel{min-width:0}.cad-active .viewer-toolbar{top:auto;bottom:38px;left:50%;transform:translate(-50%);border-radius:20px;background:#131927f0}.cad-active .viewer-status{background:#141a25}.cad-active .cad-root{background:#f4f5f8}.cad-specs{position:absolute;left:16px;top:144px;width:320px;z-index:10;border:1px solid rgba(92,105,133,.38);border-radius:16px;background:linear-gradient(150deg,#161d2df7,#1c2339ed);box-shadow:0 18px 45px #00000042;padding:18px;color:#dce4f4}.spec-title{display:flex;align-items:center;gap:8px;margin-bottom:16px}.spec-title span{color:#6dbdff}.spec-title b{font-size:13px}.spec-title em{margin-left:auto;font-style:normal;font-size:8px;color:#6a7894}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spec-grid label{height:68px;border:1px solid #2a3650;background:linear-gradient(135deg,#20293d,#273146);border-radius:8px;padding:10px;color:#7d8aa2;font-size:9px}.spec-grid b{display:block;color:#eef3fb;font:600 13px DM Mono;margin-top:7px}.spec-grid small,.spec-volume small{font-size:8px;color:#738098}.spec-volume{display:flex;align-items:center;justify-content:space-between;padding:16px 4px 13px;border-bottom:1px solid #2a344a;color:#8190a7}.spec-volume b{font:600 15px DM Mono;color:#58baff}.material-select{display:grid;gap:8px;padding:13px 0;color:#7d899f;font-size:9px}.material-select select{height:34px;border:1px solid #354158;border-radius:6px;background:#111a2d;color:#d9e1ef;padding:0 10px}.spec-weight{display:flex;align-items:center;justify-content:space-between;border:1px solid #243c68;background:linear-gradient(90deg,#101d39,#15294d);border-radius:8px;padding:10px 12px}.spec-weight span{display:grid;color:#8db7ff;font-size:10px}.spec-weight small{color:#63738f;font-size:8px}.spec-weight b{font:600 18px DM Mono;color:#fff}.cad-partbar{position:absolute;left:16px;right:16px;top:12px;z-index:10;display:flex;align-items:center;gap:12px;pointer-events:none}.cad-partbar>*{pointer-events:auto}.cad-readout{position:absolute;right:18px;bottom:74px;z-index:12;min-width:172px;display:grid;gap:3px;padding:11px 13px;border:1px solid rgba(47,137,230,.45);border-radius:9px;background:#0d192eed;box-shadow:0 12px 28px #00000038;color:#dce9fa}.cad-readout small{font:600 8px DM Mono;letter-spacing:.08em;color:#6ebcff}.cad-readout b{font:600 15px DM Mono;color:#fff}.cad-readout span{font-size:8px;color:#8ba0bb}.part-dims{height:92px;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#181e2bf5,#2a2e3ee6);border:1px solid #3b4353;border-radius:18px;padding:12px 16px;color:#fff;box-shadow:0 12px 35px #0000002e}.part-dims>i{width:6px;height:6px;border-radius:50%;background:#ff7c2d}.part-dims>div{display:grid;min-width:120px}.part-dims span{font-size:8px;color:#8b96a8}.part-dims div b{font-size:11px;color:#a58cff}.part-dims strong{font:600 13px DM Mono;padding-left:12px;border-left:1px solid #3a4354}.part-dims strong small{display:block;color:#6d7a91;font-size:8px;margin-bottom:6px}.cad-partbar>button,.part-actions button{height:38px;border:1px solid #444c5d;background:#191f2cf0;color:#cfd7e6;border-radius:10px;padding:0 14px;cursor:pointer}.cad-partbar>button:hover,.part-actions button:hover{border-color:#8d6cff;color:#fff}.part-actions{display:flex;gap:7px;margin-left:auto}.pdf-active .viewer-toolbar{left:16px}.pdf-active .fair-panel{width:min(59vw,760px)}.viewer-toolbar .cad-only.active{color:#8a70ff;border-color:#795be1;background:#795be129}@media(max-width:1180px){.file-panel{width:260px}.cad-specs{width:270px}.part-dims strong:nth-of-type(3){display:none}.pdf-active .fair-panel{width:520px}}.pdf-active .fair-panel{width:430px;max-width:38vw;background:linear-gradient(180deg,#111c31,#0c1425);box-shadow:-16px 0 36px #0000002e}.pdf-active .file-panel{display:none;position:absolute;right:0;top:0;bottom:0;z-index:45;width:318px;box-shadow:-18px 0 48px #0000006b}.pdf-active.files-open .file-panel{display:flex;animation:filesDrawerIn .18s ease-out}@keyframes filesDrawerIn{0%{transform:translate(18px);opacity:.45}}.pdf-active.files-open .fair-panel{margin-right:318px;max-width:calc(38vw - 30px)}.pdf-active .viewer-panel{min-width:0;background:radial-gradient(circle at 50% 44%,#15223b 0,#0a0f1d 65%)}.pdf-active .viewer-toolbar{gap:5px;padding:6px;left:18px;top:18px;border-radius:12px;background:#0d1626f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pdf-active .viewer-toolbar button{width:auto;min-width:34px;padding:0 10px;height:34px;font-size:10px;font-weight:600}.pdf-active .viewer-toolbar button.pdf-only{display:flex;align-items:center;gap:6px}.pdf-active .viewer-toolbar button.pdf-only:before{font-size:15px}.pdf-active .viewer-toolbar button[data-mode=pan]:before{content:"✋"}.pdf-active .viewer-toolbar button[data-mode=box]:before{content:"⌗"}.pdf-active .viewer-toolbar #zoomIn,.pdf-active .viewer-toolbar #zoomOut{font-size:16px;padding:0;width:34px}.pdf-active .viewer-toolbar #fitView{font-size:0;width:34px;padding:0}.pdf-active .viewer-toolbar #fitView:before{content:"⊡";font-size:18px}.pdf-active .viewer-toolbar #toggleBubbles{font-size:0;width:34px;padding:0}.pdf-active .viewer-toolbar #toggleBubbles:before{content:"◉";font-size:16px}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled:before{content:none}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled>span{font-size:15px}.pdf-active .viewer-toolbar button.pdf-only.tool-labeled>b{font-size:10px}.pdf-active .viewer{background-image:radial-gradient(rgba(114,139,180,.14) .7px,transparent .7px);background-size:18px 18px}.pdf-active .viewer.space-pan{cursor:grab}.pdf-active .viewer.space-pan:active{cursor:grabbing}.pdf-active .viewer-status{height:34px;padding:0 16px;gap:22px;background:#0e1728;color:#8797b0}.pdf-active .viewer-status span:first-child:before{content:"⌘";margin-right:6px;color:#5acbff}.pdf-active .viewer-status span:nth-child(2):before{content:"滚轮缩放 · 空格/中键平移 · 双击适应";color:#71839e;margin-right:18px}.pdf-active .fair-head{height:66px;padding:11px 13px;border-bottom-color:#263a57}.pdf-active .fair-head>div:first-child{gap:8px}.pdf-active .fair-head b{font-size:13px;color:#eef6ff}.pdf-active .fair-head em{background:#163c58;color:#72d7ff}.inspector-actions{margin-left:auto}.fair-head .inspector-actions button{width:29px;height:29px;color:#9fb5d0}.fair-head .inspector-actions button:hover,.fair-head .inspector-actions button.active{background:#123850;color:#67d3ff;border-color:#3579a5}.metadata{grid-template-columns:1fr 1fr;padding:12px 13px 13px;gap:8px}.meta-heading{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;margin-bottom:1px}.meta-heading b{font-size:10px;color:#d7eafe}.meta-heading span{font-size:8px;color:#718aa6}.metadata label{font-size:8px}.metadata input{padding:7px 8px}.sample-control{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #263a57;color:#9aacc2;font-size:9px}.sample-control>div{display:flex;align-items:center;gap:9px}.sample-control button{width:24px;height:24px;border:1px solid #344b68;border-radius:6px;background:#121e32;color:#9edfff;cursor:pointer}.sample-control b{min-width:16px;text-align:center;color:#edf7ff;font:600 12px DM Mono}.table-wrap{padding:10px 10px 14px;background:linear-gradient(180deg,#08112033,#08112099)}.marker-list{display:grid;gap:5px}.marker-row{width:100%;height:54px;display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:8px;text-align:left;border:1px solid transparent;border-radius:9px;background:#121f34;color:#cbd9e9;padding:7px 8px;cursor:pointer;transition:.14s}.marker-row:hover,.marker-row.hovered{border-color:#326a8d;background:#132b43}.marker-row.selected{border-color:#36a6dc;background:linear-gradient(90deg,#143d58,#142a43);box-shadow:0 6px 16px #0000002e}.marker-no{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#1d4260;color:#a3e4ff;font:700 10px DM Mono}.marker-copy{display:grid;min-width:0;gap:3px}.marker-copy b{font:600 10px DM Mono;color:#edf7ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker-copy small{font-size:8px;color:#839cb7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker-state{font-size:8px;color:#85d7b3;background:#153a34;border:1px solid #215b4d;border-radius:20px;padding:3px 6px}.marker-editor{margin-top:11px;border:1px solid #2b4663;border-radius:10px;overflow:hidden;background:#0c182a}.editor-heading{height:48px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263e59;background:linear-gradient(90deg,#132a45,#101d32)}.editor-heading div{display:grid;gap:2px}.editor-heading small{font-size:8px;color:#86a4c2}.editor-heading b{font:600 11px DM Mono;color:#dff4ff}.editor-heading button{border:1px solid #693846;border-radius:5px;background:#2a1823;color:#ff9aab;font-size:8px;padding:5px 7px;cursor:pointer}.dimension-fields{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:11px}.dimension-fields label:nth-child(n+3){grid-column:span 1}.dimension-fields label{display:grid;gap:4px;color:#8198b3;font-size:8px}.dimension-fields label:nth-child(3),.dimension-fields label:nth-child(4){grid-column:span 1}.dimension-fields input,.instrument-field select,.actual-grid input{height:30px;border:1px solid #2b4661;border-radius:6px;background:#081221;color:#e4f1ff;padding:0 8px;outline:0;font:600 10px DM Mono}.dimension-fields input:focus,.instrument-field select:focus,.actual-grid input:focus{border-color:#49bbeb;box-shadow:0 0 0 2px #49bbeb1f}.instrument-field{display:grid;gap:5px;padding:0 11px 11px;color:#8198b3;font-size:8px}.instrument-field select{font-family:Noto Sans SC,sans-serif}.actual-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 11px 6px;border-top:1px solid #213650}.actual-heading b{font-size:9px;color:#d8e7f6}.actual-heading small{font-size:8px;color:#718ba5}.actual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:0 11px 12px}.actual-grid label{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:5px;color:#829ab5;font:600 8px DM Mono}.actual-grid input{min-width:0}.empty-table{min-height:210px;border:1px dashed #2d4868;border-radius:12px;background:#0f203559;padding:25px}.empty-table span{color:#66cef6}.empty-table p{color:#c4d9ee}.empty-table small{line-height:1.6}.fair-footer{height:54px;padding:0 12px;border-top-color:#263a57;background:#101b2e}.fair-footer button{padding:8px 11px;border-color:#1aa66a;background:linear-gradient(90deg,#098e63,#16a878);font-size:9px}.fair-footer span{color:#7790aa}@media(max-width:1180px){.pdf-active .fair-panel{width:390px;max-width:42vw}.pdf-active.files-open .fair-panel{margin-right:260px}.pdf-active .file-panel{width:260px}}.quote-editor{position:fixed;left:24px;top:174px;width:300px;z-index:90}.quote-backdrop{display:none}.quote-drawer{position:relative;width:300px;max-height:calc(100vh - 192px);overflow:auto;background:linear-gradient(160deg,#151b29,#0e1420);border:1px solid #343d50;border-radius:13px;box-shadow:0 18px 45px #00000061;animation:quoteIn .16s ease-out;color:#e7edf8}@keyframes quoteIn{0%{transform:translateY(-8px);opacity:.5}}.quote-drawer header{height:76px;padding:14px 14px 12px;border-bottom:1px solid #293246;display:flex;align-items:flex-start;justify-content:space-between;background:radial-gradient(circle at 15% 20%,rgba(124,92,246,.18),transparent 56%)}.quote-drawer header small{font:600 7px DM Mono;letter-spacing:.1em;color:#8b71ef}.quote-drawer h2{font-size:13px;margin:5px 0 2px}.quote-drawer header p{margin:0;color:#8d99ae;font:500 9px DM Mono}.quote-drawer header button{width:27px;height:27px;border:1px solid #374158;border-radius:7px;background:#1a2231;color:#aab5c8;font-size:17px;cursor:pointer}.quote-form{padding:14px;display:grid;gap:11px}.quote-form label{display:grid;gap:5px;color:#8d9aaf;font-size:8px}.quote-form select,.quote-form input{height:33px;width:100%;border:1px solid #334058;border-radius:6px;background:#0a1020;color:#e4ebf6;padding:0 9px;outline:none;font-size:10px}.quote-form select:focus,.quote-form input:focus{border-color:#8267ed;box-shadow:0 0 0 3px #8267ed1c}.quote-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quote-subtotal{height:48px;display:flex;align-items:center;justify-content:space-between;border:1px solid #2e3b56;border-radius:8px;background:linear-gradient(100deg,#101a30,#17233e);padding:0 11px}.quote-subtotal span{font-size:9px;color:#8390a6}.quote-subtotal b{font:600 16px DM Mono;color:#69c3ff}.quote-save{height:36px;border:0;border-radius:8px;background:linear-gradient(90deg,#7048ee,#9655ff);color:#fff;font-size:10px;font-weight:600;cursor:pointer;box-shadow:0 10px 24px #7048ee3d}.file-panel .file-upload label:after{content:"STEP、STP、PDF、ZIP（最大 50MB）"}.archive-tag{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#79b9d6;font:500 7px DM Mono;font-style:normal}.cad-analysis{display:grid;gap:0;margin-top:12px;border-top:1px solid #2d3947;border-bottom:1px solid #2d3947}.cad-analysis div{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(45,57,71,.65)}.cad-analysis div:last-child{border-bottom:0}.cad-analysis span{font-size:8px;color:#8393a2}.cad-analysis b{font:600 9px DM Mono;color:#dcebf3;text-align:right}.quote-basis{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;margin-top:12px;padding:10px;border:1px solid #356075;background:#102a34}.quote-basis span{display:grid;gap:3px;color:#9cb9c8;font-size:9px}.quote-basis small{font-size:7px;color:#6e8b9a}.quote-basis b{font:600 18px DM Mono;color:#dff7ff}.quote-basis em{align-self:end;margin-bottom:2px;font:500 8px DM Mono;font-style:normal;color:#7293a2}.cad-quote-inline{display:grid;gap:2px;min-width:110px;padding:8px 12px;border-left:1px solid #3a4354}.cad-quote-inline span{font-size:8px;color:#8a98a9}.cad-quote-inline b{font:600 15px DM Mono;color:#bfe9ff}.cad-quote-inline em{font:500 8px DM Mono;font-style:normal;color:#78899e}.cad-partbar>button{white-space:nowrap}@media(max-width:1380px){.cad-quote-inline{display:none}.cad-specs{width:292px}.cad-analysis b{font-size:8px}}.feature-analysis{margin-top:12px;padding:11px 10px 10px;border:1px solid #2a4658;border-radius:8px;background:#101d29}.feature-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #263d4f}.feature-heading span{font-size:10px;font-weight:600;color:#d8edf8}.feature-heading em{font:500 7px DM Mono;font-style:normal;color:#6b99ae;white-space:nowrap}.feature-stats{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;row-gap:6px;padding:10px 0 8px}.feature-stats span{font-size:8px;color:#8098a9}.feature-stats b{font:600 9px DM Mono;color:#d9edf5;text-align:right}.feature-analysis ul{display:grid;gap:5px;margin:1px 0 0;padding:8px 0 0;border-top:1px solid #263d4f;list-style:none}.feature-analysis li{display:grid;grid-template-columns:62px 1fr;gap:7px;align-items:center;padding:6px 7px;border-radius:5px;background:#152838}.feature-analysis li b{font:600 10px DM Mono;color:#77cff2}.feature-analysis li span{font-size:8px;color:#a4b7c2}.feature-analysis>p{margin:0;padding-top:8px;border-top:1px solid #263d4f;font-size:8px;line-height:1.65;color:#8298a8}.feature-analysis>small{display:block;margin-top:6px;color:#6d98ad;font:500 8px DM Mono}.feature-analysis>strong{display:block;margin-top:8px;padding:7px;border-left:2px solid #d99b45;background:#2c2316;color:#e8c28c;font-size:8px;line-height:1.55;font-weight:500}@media(max-height:820px){.cad-specs{top:118px;max-height:calc(100vh - 138px);overflow:auto}.cad-specs::-webkit-scrollbar{width:5px}.cad-specs::-webkit-scrollbar-thumb{background:#425366;border-radius:5px}.spec-grid label{height:58px}.feature-analysis,.quote-basis{margin-top:9px}}.cad-active .file-panel{width:292px;background:#121922}.cad-active .file-panel .side-title{height:48px;padding:0 14px;border-bottom:1px solid #263241;gap:8px}.cad-active .file-panel .side-title span{color:#5aaed2}.cad-active .file-panel .side-title b{font-size:11px;color:#dbe7ef}.cad-active .file-panel .side-title small{margin-left:auto;color:#687d8e;font:500 8px DM Mono}.cad-active .file-panel .file-upload{padding:10px 12px;display:grid;grid-template-columns:1fr 46px;gap:7px;border-bottom:1px solid #263241}.cad-active .file-panel .file-upload label,.cad-active .file-panel .file-upload button{height:32px;padding:0;border-radius:5px;background:#18232e;border-color:#334556;color:#a8c1cf;display:grid;place-items:center;font-size:9px}.cad-active .file-panel .file-upload label{border-style:dashed}.cad-active .file-panel .file-upload button{color:#a9aeb4}.cad-active .file-panel .tree{padding:6px 10px;flex:1;overflow:auto}.cad-active .file-panel .tree>p{margin:10px 2px 6px;color:#6e8292;font:600 8px DM Mono;letter-spacing:.08em}.cad-active .file-panel .tree-file{min-height:52px;padding:7px;border-color:#263747;background:#151f2a;border-radius:6px}.cad-active .file-panel .tree-row.active .tree-file{border-color:#3b7e9d;background:#183044}.cad-active .file-panel .tree-file>span{width:31px;height:31px;border-radius:5px;font-size:7px;background:#17364a;color:#81d4f4}.cad-active .file-panel .tree-file>span.pdf{background:#3b2635;color:#f0a7b6}.cad-active .file-panel .tree-file b{font-size:9px;color:#d9e5ed}.cad-active .file-panel .tree-file small{font-size:7px;color:#7890a0}.cad-active .file-panel .archive-tag{font-size:6px;color:#5da6c5}.cad-active .project-summary{display:block;margin:0 10px 10px;padding:10px;border:1px solid #294153;border-radius:7px;background:#14202b}.project-summary header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.project-summary header span{font-size:9px;color:#c9dce6}.project-summary header em{font:500 7px DM Mono;font-style:normal;color:#72cda2}.project-total{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid #283e4f}.project-total small{color:#7690a0;font-size:8px}.project-total b{font:600 20px DM Mono;letter-spacing:-.03em;color:#e3f6ff}.project-total span{color:#638194;font-size:7px}.project-kpis{display:grid;grid-template-columns:repeat(3,1fr);padding-top:9px}.project-kpis div{display:grid;gap:3px;border-right:1px solid #283e4f;text-align:center}.project-kpis div:last-child{border:0}.project-kpis span{font-size:7px;color:#718a9a}.project-kpis b{font:600 13px DM Mono;color:#cde4ef}.cad-active .file-panel .side-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;border-top:1px solid #263241}.cad-active .file-panel .side-actions button{height:32px;padding:0;background:#192936;border:1px solid #315166;border-radius:5px;color:#b9d5e3;font-size:8px}.cad-active .file-panel .side-actions button:first-child{background:#176f8e;border-color:#2a8caf;color:#e7f8ff}.cad-active .cad-root{background:#e9edf0}.cad-active .cad-partbar{left:18px;right:18px;top:14px;gap:8px}.cad-active .part-dims{height:56px;gap:10px;padding:8px 12px;border:1px solid #3d4854;border-radius:7px;background:#141c25f2;box-shadow:0 5px 18px #0000002e}.cad-active .part-dims>i{width:5px;height:5px;background:#3ac48e}.cad-active .part-dims>div{min-width:168px}.cad-active .part-dims span{font-size:7px}.cad-active .part-dims div b{font-size:10px;color:#dfebf2}.cad-active .part-dims strong{font-size:11px;padding-left:10px}.cad-active .part-dims strong small{display:inline;margin:0 4px 0 0;font-size:7px}.cad-active .cad-quote-inline{display:grid;min-width:130px;padding:5px 10px;border-left:1px solid #364452}.cad-active .cad-quote-inline span,.cad-active .cad-quote-inline em{font-size:7px}.cad-active .cad-quote-inline b{font-size:13px}.cad-active .cad-partbar>button,.cad-active .part-actions button{height:31px;padding:0 10px;border-radius:5px;border-color:#435466;background:#161f28f5;font-size:8px}.cad-active .cad-partbar>button{background:#16718f;border-color:#2b90af;color:#effcff}.cad-active .part-actions{margin-left:0}.cad-active .viewer-toolbar{bottom:18px;padding:4px;border-radius:7px;background:#131c26f5;box-shadow:0 7px 20px #0000003d}.cad-active .viewer-toolbar button{width:30px;height:30px;padding:0;border-radius:4px}.cad-active .viewer-toolbar .cad-tool .toolbar-icon{width:15px;height:15px}.cad-active .cad-specs{left:18px;top:83px;width:300px;max-height:calc(100vh - 160px);overflow:auto;padding:13px;border-radius:8px;background:#131c27fa;border-color:#35495a;box-shadow:0 14px 36px #00000040}.cad-active .spec-title{margin-bottom:10px}.cad-active .spec-title b{font-size:11px}.cad-active .spec-grid{gap:6px}.cad-active .spec-grid label{height:52px;padding:8px;border-radius:5px;background:#1b2937;border-color:#2c4354;font-size:8px}.cad-active .spec-grid b{margin-top:5px;font-size:11px}.cad-active .spec-volume{padding:10px 2px}.cad-active .material-select{padding:10px 0;gap:5px}.cad-active .material-select select{height:29px;font-size:9px}.cad-active .spec-weight{padding:8px 10px}.cad-active .spec-weight b{font-size:15px}.cad-active .cad-analysis{margin-top:9px}.cad-active .cad-analysis div{min-height:26px}.cad-active .cad-analysis span,.cad-active .cad-analysis b{font-size:8px}.cad-active .feature-analysis{margin-top:9px;padding:9px}.cad-active .quote-basis{margin-top:9px;padding:8px}.cad-active .quote-basis b{font-size:15px}.cad-active .cad-readout{right:16px;bottom:58px}.cad-active .viewer-status{height:26px;padding:0 10px}.cad-active .viewer-status span{font-size:8px}.cad-active .viewer-status span:nth-child(2){margin-left:auto}@media(max-width:1200px){.cad-active .file-panel{width:250px}.cad-active .part-dims>div{min-width:128px}.cad-active .cad-quote-inline{display:none}.cad-active .part-dims strong:nth-of-type(3){display:none}.cad-active .part-actions button:first-child{display:none}}.pdf-active .viewer-status span:nth-child(2):before{content:"滚轮缩放图纸 · Ctrl+滚轮缩放界面 · 空格/中键平移 · 双击适应"!important;color:#71839e;margin-right:18px}.pdf-active .overlay .callout text{font:800 22px/1 DM Mono!important;letter-spacing:0!important;fill:#fff!important}.cad-active .cad-quote-inline{height:56px;display:grid;align-content:center;min-width:138px;padding:6px 11px;border:1px solid #3b4b59;border-radius:7px;background:#141d26f5}.cad-active .cad-quote-inline span,.cad-active .cad-quote-inline em{font-size:7px;color:#8196a6}.cad-active .cad-quote-inline b{font-size:14px;color:#e0f5ff}.pdf-active .viewer{background:#dfe4ea}.pdf-active .viewer-toolbar{left:16px;top:14px;border:1px solid #d5dae1;background:#fffffff7;box-shadow:0 4px 14px #1e2a371f;border-radius:7px}.pdf-active .viewer-toolbar button{color:#586575}.pdf-active .viewer-toolbar button:hover,.pdf-active .viewer-toolbar button.active{color:#126b88;border-color:#a9cfdb;background:#eaf6f9}.pdf-active .viewer-toolbar>i{background:#d9dee5}.pdf-active .viewer-status{background:#fff;border-top-color:#d6dce4;color:#687687}.pdf-active .viewer-status span:last-child{color:#176f8c}.pdf-active .fair-panel{width:430px!important;background:#f8fafb;border-left:1px solid #ccd3dc;color:#1d2935}.pdf-active .fair-head{height:58px;padding:9px 48px 9px 14px;background:#fff;border-bottom-color:#d7dde4}.pdf-active .fair-head span{color:#2b748b}.pdf-active .fair-head b{font-size:13px;color:#202c38}.pdf-active .fair-head em{color:#2b677b;background:#e9f2f4;border:1px solid #d1e2e6}.pdf-active .fair-head button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d9dee5;background:#fff;color:#647283;border-radius:5px}.pdf-active .fair-head button:hover,.pdf-active .fair-head button.active{color:#176f8c;border-color:#9ec7d3;background:#eff8fa}.pdf-active .fair-head button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pdf-active .panel-toggle{background:#fff;color:#607080;border-color:#d3dae2;box-shadow:0 3px 10px #2835431f}.drawing-link{flex:none;padding:11px 13px 12px;background:#f3f6f8;border-bottom:1px solid #d8dee5}.drawing-link.hidden{display:none}.drawing-link-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.drawing-link-top div{display:grid;gap:2px;min-width:0}.drawing-link-top small{font-size:9px;color:#7e8a97}.drawing-link-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#263442}.drawing-link-top em{flex:none;font-style:normal;font-size:8px;color:#307488;background:#e1eef1;border:1px solid #c8dde2;border-radius:10px;padding:3px 7px}.drawing-link-control{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:7px;margin-top:9px}.drawing-link-control select,.drawing-link-control button{height:32px;border:1px solid #cfd6de;border-radius:5px;background:#fff;color:#344352;font-size:10px;outline:0}.drawing-link-control select{width:100%;padding:0 8px}.drawing-link-control select:focus{border-color:#5d9caf;box-shadow:0 0 0 2px #297e971a}.drawing-link-control button{display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#205e73}.drawing-link-control button:hover{border-color:#78aebe;background:#f2fafb}.drawing-link-control button:disabled{cursor:default;color:#a0a9b3;background:#f1f3f5}.drawing-link-control button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.drawing-link-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:8px;color:#7d8995}.drawing-link-meta strong{font:600 9px DM Mono;color:#485968;white-space:nowrap}.pdf-active .metadata{background:#f7f9fa;border-bottom-color:#d8dee5;color:#344250}.pdf-active .metadata label{color:#778493}.pdf-active .metadata input{background:#fff;border-color:#d6dce3;color:#2d3a47}.pdf-active .metadata input:focus{border-color:#5795a8}.pdf-active .sample-control{background:#fff;border-bottom:1px solid #d9dfe6;color:#657382}.pdf-active .sample-control button{border-color:#d5dbe2;background:#fff;color:#536271}.pdf-active .sample-control b{color:#23495a}.pdf-active .table-wrap{background:#f6f8fa}.pdf-active .empty-table{color:#87939f}.pdf-active .table-wrap table{background:#fff;border-color:#d8dee5}.pdf-active .table-wrap th{background:#e8edf1;color:#5e6c7a;border-bottom:1px solid #cfd6de}.pdf-active .table-wrap td{border-top-color:#e3e7eb;color:#64717e}.pdf-active .table-wrap tr.hovered{background:#eef7f9}.pdf-active .table-wrap input,.pdf-active .table-wrap select{background:#fff;border-color:#d6dce3;color:#334352}.pdf-active .fair-footer{background:#fff;border-top-color:#d5dce3}.pdf-active .fair-footer button{background:#236f85;border-color:#236f85}.pdf-active .fair-footer button:disabled{background:#e6e9ed;border-color:#d4d9df;color:#98a1aa}.tree-row .tree-file small{line-height:1.45}.drawing-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 8px;margin-top:9px;padding-top:9px;border-top:1px solid #293541;font-size:8px;color:#83919f}.drawing-progress b{font:600 9px DM Mono;color:#c5d1db}.drawing-progress i{grid-column:1/-1;height:3px;background:#283541;border-radius:3px;overflow:hidden}.drawing-progress i em{display:block;height:100%;background:#4f9bad;border-radius:3px}.drawing-picker{position:fixed;inset:0;z-index:200;display:grid;place-items:center}.drawing-picker-backdrop{position:absolute;inset:0;border:0;background:#0f161d7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawing-picker>section{position:relative;width:min(560px,calc(100vw - 40px));max-height:min(620px,calc(100vh - 50px));display:flex;flex-direction:column;background:#f8fafb;border:1px solid #cfd6dd;border-radius:9px;box-shadow:0 24px 70px #0d18224d;overflow:hidden;color:#1f2d39}.drawing-picker header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 15px;background:#fff;border-bottom:1px solid #d9dfe5}.drawing-picker header small{font:600 8px DM Mono;letter-spacing:.12em;color:#397b90}.drawing-picker header h2{margin:5px 0 3px;font-size:16px}.drawing-picker header p{margin:0;color:#7b8793;font-size:10px}.drawing-picker-close{border:0;background:none;color:#7f8b96;font-size:22px;cursor:pointer}.drawing-picker-list{overflow:auto;padding:10px}.drawing-picker-list>button{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #dde2e7;background:#fff;border-radius:6px;padding:10px;text-align:left;color:#2b3946;cursor:pointer;margin-bottom:7px}.drawing-picker-list>button:hover{border-color:#83adba;background:#f4fafb}.drawing-picker-list>button>span{width:36px;height:30px;display:grid;place-items:center;background:#f4e7e9;color:#a43d4c;border-radius:4px;font:600 8px DM Mono}.drawing-picker-list>button>div{display:grid;gap:3px;min-width:0}.drawing-picker-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.drawing-picker-list small{font-size:8px;color:#7b8792}.drawing-picker-list em{font-style:normal;font-size:9px;color:#2b7287}@media(max-width:1100px){.pdf-active .fair-panel{width:380px!important}}.landing{background:#101216;min-height:100%;color:#e7ebef}.landing header{height:58px;padding:0 30px;background:#15171d;border-bottom:1px solid #272b33}.landing header p{font-size:10px;color:#77808b}.landing main{max-width:920px;margin:4vh auto 0;display:grid;grid-template-columns:1fr;gap:0;align-items:start}.landing .hero{text-align:center}.landing .hero>span{color:#72839a;font-size:9px;letter-spacing:.16em}.landing .hero h1{margin:15px 0 9px;font-size:38px;letter-spacing:-.04em;background:linear-gradient(90deg,#9b7cff,#46c7ee);-webkit-background-clip:text;background-clip:text;color:transparent}.landing .hero p{max-width:620px;margin:0 auto;color:#98a1ac;font-size:13px;line-height:1.75}.process-visual{height:156px;margin:24px auto 18px;display:flex;align-items:center;justify-content:center;gap:22px;color:#8090a0}.process-node{width:122px;display:grid;justify-items:center;gap:5px}.process-node svg{width:88px;height:70px;fill:none;stroke:#6da9c2;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 9px rgba(73,161,198,.16))}.process-node.data-shape svg{stroke:#947ce1}.process-node.sheet-shape svg{stroke:#72b595}.process-node span{font:600 8px DM Mono;letter-spacing:.08em;color:#7d8997}.process-visual>i{width:74px;height:32px;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;border-top:1px solid #3e5966}.process-visual>i:after{content:"";position:absolute;right:0;top:-5px;border-left:8px solid #6596a8;border-top:4px solid transparent;border-bottom:4px solid transparent}.process-visual>i b{width:3px;height:3px;border-radius:50%;background:#6faec1;animation:signalPulse 1.6s ease-in-out infinite}.process-visual>i b:nth-child(2){animation-delay:.25s}.process-visual>i b:nth-child(3){animation-delay:.5s}.process-visual>i em{position:absolute;top:8px;left:50%;transform:translate(-50%);font-style:normal;font-size:8px;color:#64717f;white-space:nowrap}@keyframes signalPulse{0%,to{opacity:.25}50%{opacity:1}}.landing .workflow-choices{display:none}.landing .drop{width:620px;max-width:calc(100vw - 40px);height:230px;margin:0 auto;border:1px dashed #4a5663;border-radius:10px;background:#171b21;box-shadow:none}.landing .drop:hover,.landing .drop.drag{border-color:#6f9eaf;background:#1a2127}.landing .drop>strong{width:54px;height:54px;display:grid;place-items:center;border-radius:9px;background:#242035;color:#a788f4;font-size:28px}.landing .drop div{gap:6px}.landing .drop b{font-size:16px}.landing .drop small{font:600 9px DM Mono;letter-spacing:.08em;color:#778491}.landing .drop em{font-style:normal;color:#8581b7;font-size:9px}.cad-active .viewer-panel,.cad-active .viewer,.cad-active .cad-root{background:#0b0e13}.cad-active .cad-root canvas{cursor:grab}.cad-active .cad-root canvas:active{cursor:grabbing}.cad-active .cad-specs{top:82px;left:18px;width:300px;background:#141a22;border-color:#2d3d4a;box-shadow:0 15px 40px #00000057}.cad-active .cad-partbar{top:14px;left:18px;right:18px}.cad-active .part-dims{background:#161d25;border-color:#34434f}.cad-active .part-dims div b{max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-active .file-panel{background:#151a21;border-left-color:#29343e}.cad-active .file-panel .file-upload{padding:12px 14px;display:flex;flex-direction:column;gap:9px}.cad-active .file-panel .file-upload label{height:104px;border:1px solid #2c3541;border-radius:10px;background:#171c23;display:flex;flex-direction:column;justify-content:center;gap:7px}.cad-active .file-panel .file-upload label:before{width:39px;height:39px;border-radius:8px}.cad-active .file-panel .file-upload button{height:33px}.cad-active .file-panel .tree-file>span{background:#f3f5f6;color:#4e6470;border-radius:7px}.cad-active .file-panel .tree-file>span.pdf{background:#3b2635;color:#eaa0b3}.cad-active .file-panel .tree-row.active .tree-file{background:#28213c;border-color:#694db2}.cad-active .project-summary{background:#151f27;border-color:#2b414e}.orientation-gizmo{position:absolute;right:46px;top:70px;width:72px;height:72px;border-radius:50%;pointer-events:none;opacity:.95}.orientation-gizmo i{position:absolute;left:34px;top:34px;width:6px;height:6px;border-radius:50%;background:#dfe5ea;box-shadow:0 0 0 2px #303b46}.orientation-gizmo span{position:absolute;font:600 10px DM Mono;text-shadow:0 1px 4px #000}.orientation-gizmo .axis-y{left:31px;top:1px;color:#39c47c}.orientation-gizmo .axis-x{right:0;top:31px;color:#ef5d64}.orientation-gizmo .axis-z{left:30px;bottom:0;color:#5da7ef}.pdf-active .file-panel{display:flex!important;position:static;width:318px;box-shadow:none}.pdf-active .fair-panel{width:min(46vw,570px)!important;max-width:calc(100vw - 318px);background:#101827;border-left-color:#2a3c55}.pdf-active .viewer-panel{background:#0a0f1b}.pdf-active .viewer{background:#0a0f1b;background-image:radial-gradient(rgba(114,139,180,.13) .7px,transparent .7px);background-size:18px 18px}.pdf-active .stage{box-shadow:0 5px 18px #00000061}.pdf-active .fair-head{background:#101827;border-bottom-color:#2a3c55}.pdf-active .drawing-link{padding:8px 13px;background:#111d2c;border-bottom-color:#2a3c55}.pdf-active .drawing-link-top b{color:#e4edf3}.pdf-active .drawing-link-top small,.pdf-active .drawing-link-meta{color:#8194a9}.pdf-active .drawing-link-top em{background:#18394b;border-color:#2f6076;color:#8bd2e8}.pdf-active .drawing-link-control{margin-top:6px}.pdf-active .drawing-link-control select,.pdf-active .drawing-link-control button{height:29px;background:#0c1422;border-color:#31455e;color:#c7d5e0}.pdf-active .drawing-link-meta{margin-top:5px}.pdf-active .drawing-link-meta strong{color:#a9d4e5}.pdf-active .metadata{background:#111c31;border-bottom-color:#263a57}.pdf-active .metadata label{color:#8da0b6}.pdf-active .metadata input{background:#070e1d;border-color:#293d59;color:#e2ebf3}.pdf-active .sample-control{background:#101827;border-bottom-color:#2a3c55}.pdf-active .table-wrap{background:#101827}.pdf-active .table-wrap table{background:#0c1422;border-color:#2a3c55}.pdf-active .table-wrap th{background:#1b2b40;color:#a5b8cc}.pdf-active .table-wrap td{border-top-color:#22344b;color:#90a2b4}.pdf-active .table-wrap input,.pdf-active .table-wrap select{background:#09111f;border-color:#2d425b;color:#d0dce7}.pdf-active .fair-footer{background:#101827;border-top-color:#2a3c55}.pdf-active .fair-footer button{background:#176f58;border-color:#278066}.pdf-active .project-summary{display:none}.pdf-active .file-panel .file-upload label{height:120px}.pdf-active .tree-file{background:#171f2b;border-color:#2b3a4c}.pdf-active .tree-row.active .tree-file{background:#241d3b;border-color:#7554db}.pdf-active .file-panel .side-actions{background:#151d2a}.open-project-quote{width:100%;height:34px;margin-top:10px;border:1px solid #36738d;border-radius:5px;background:#1b536b;color:#e9f8ff;font-size:8px;cursor:pointer}.open-project-quote:hover{background:#236782}.quote-editor:has(.quote-drawer-v2){width:382px;top:82px}.quote-drawer-v2{width:382px;max-height:calc(100vh - 100px);border-radius:8px;background:#151c24;border-color:#344554}.quote-drawer-v2 header{background:#18232c;border-color:#2c3b47}.quote-drawer-v2 .quote-form{gap:10px}.quote-price-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quote-price-mode button{height:52px;display:grid;align-content:center;gap:4px;text-align:left;padding:0 10px;border:1px solid #33414d;border-radius:5px;background:#111820;color:#8898a5;cursor:pointer}.quote-price-mode button b{font-size:9px;color:#cad6de}.quote-price-mode button span{font-size:7px}.quote-price-mode button.active{border-color:#3981a0;background:#18384a}.quote-price-mode button.active b{color:#e8f8ff}.cost-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;border:1px solid #2c3b46;border-radius:6px;background:#111820}.cost-breakdown .cost-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.cost-heading span{font-size:9px;color:#d6e2e8}.cost-heading em{font:500 7px DM Mono;font-style:normal;color:#6faac4}.cost-breakdown>.quote-pair{grid-column:1/-1}.manual-price input:disabled{color:#7c8992;background:#10161c}.quote-subtotal-v2{height:56px;border-radius:6px;background:#142a35;border-color:#2f6175}.quote-subtotal-v2 div{display:grid;gap:4px}.quote-subtotal-v2 small{font-size:7px;color:#718d9c}.quote-subtotal-v2 b{font-size:17px;color:#dff7ff}.project-quote{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:22px}.project-quote-backdrop{position:absolute;inset:0;border:0;background:#05090dc2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-quote-sheet{position:relative;width:min(1560px,calc(100vw - 44px));height:min(900px,calc(100vh - 44px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #344653;border-radius:8px;background:#131a21;color:#dce7ed;box-shadow:0 24px 70px #0000007a}.project-quote-head{height:76px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #2c3944;background:#17212a}.project-quote-head small{font:600 8px DM Mono;letter-spacing:.12em;color:#65a9c7}.project-quote-head h2{margin:5px 0 2px;font-size:18px}.project-quote-head p{margin:0;font-size:8px;color:#7f909d}.project-quote-head>div:last-child{display:flex;gap:7px}.project-quote-head button{height:32px;padding:0 12px;border:1px solid #3b4c58;border-radius:4px;background:#1a252e;color:#acbbc5;font-size:8px;cursor:pointer}.project-quote-head button.primary{border-color:#367996;background:#1c627e;color:#effbff}.project-quote-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 18px 16px;gap:12px}.quote-meta-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1.2fr .7fr 1fr .65fr .75fr 1.8fr;gap:7px;padding:10px;border:1px solid #2b3944;border-radius:6px;background:#161f27}.quote-meta-grid label{display:grid;gap:5px;color:#83939f;font-size:7px}.quote-meta-grid input,.quote-meta-grid textarea{height:30px;min-width:0;border:1px solid #334550;border-radius:4px;background:#0f161c;color:#dde8ed;padding:0 8px;font-size:9px;outline:0}.quote-meta-grid input:focus,.quote-meta-grid textarea:focus{border-color:#3d839f}.quote-meta-notes{grid-column:1/-1}.quote-meta-grid textarea{height:42px;padding:7px;resize:none}.bom-actions{height:38px;display:flex;align-items:center;gap:7px}.bom-actions>span{margin-right:auto;color:#81919d;font-size:8px}.bom-actions select,.bom-actions input,.bom-actions button{height:30px;border:1px solid #344650;border-radius:4px;background:#111920;color:#b9c8d0;padding:0 8px;font-size:8px}.bom-actions input{width:84px}.bom-actions button{background:#1c556d;border-color:#36738b;color:#edfaff;cursor:pointer}.bom-scroll{flex:1;min-height:0;overflow:auto;border:1px solid #2c3a44;border-radius:6px;background:#10171d}.project-bom-table{width:100%;min-width:1370px;border-collapse:collapse;font-size:8px}.project-bom-table th{position:sticky;top:0;z-index:2;height:36px;background:#202d36;color:#9db0bc;font-weight:600;white-space:nowrap;border-bottom:1px solid #3a4d5a}.project-bom-table td{height:54px;padding:6px 8px;border-bottom:1px solid #27343d;color:#aab8c1;text-align:right;white-space:nowrap}.project-bom-table tbody tr:hover{background:#16252e}.project-bom-table th:nth-child(2),.project-bom-table th:nth-child(3),.project-bom-table td:nth-child(2),.project-bom-table td:nth-child(3){text-align:left}.project-bom-table td:first-child,.project-bom-table th:first-child{text-align:center}.project-bom-table td b,.project-bom-table td span,.project-bom-table td small{display:block}.project-bom-table td b{color:#e1ebef;font-size:9px}.project-bom-table td small{margin-top:4px;color:#6f818d;font-size:7px}.project-bom-table input[type=number]{width:55px;height:27px;border:1px solid #3a4b55;border-radius:4px;background:#0e151a;color:#e2edf1;text-align:center}.project-bom-table button{height:26px;border:1px solid #3c6071;border-radius:4px;background:#172d38;color:#9bc9dc;font-size:7px;cursor:pointer}.quote-totals{display:flex;justify-content:flex-end;align-items:stretch;gap:1px;flex:none}.quote-totals>div{width:150px;display:grid;align-content:center;gap:3px;padding:8px 12px;background:#18232b;border:1px solid #293a45}.quote-totals span{font-size:7px;color:#7f929e}.quote-totals b{font:600 13px DM Mono;color:#d7e5eb}.quote-totals .grand{width:210px;background:#173344;border-color:#32657a}.quote-totals .grand b{font-size:19px;color:#effbff}.quote-totals .grand small{font-size:7px;color:#7fa9bc}@media(max-width:1180px){.project-quote{padding:10px}.project-quote-sheet{width:calc(100vw - 20px);height:calc(100vh - 20px)}.quote-meta-grid{grid-template-columns:repeat(4,1fr)}.quote-meta-notes{grid-column:1/-1}.project-quote-head p{display:none}.bom-actions>span{display:none}}.quote-editor:has(.quote-drawer-v2){z-index:145}.pdf-active .panel-toggle{background:#1b2c42;color:#bcd0df;border-color:#344d68}.pdf-active .fair-head button{background:#162437;border-color:#344d68;color:#a9bdd0}@media(max-width:1100px){.pdf-active .fair-panel{width:44vw!important}.pdf-active .file-panel{width:260px}.pdf-active .fair-panel{max-width:calc(100vw - 260px)}.orientation-gizmo{right:18px}}@media(max-width:780px){.landing .hero h1{font-size:30px}.process-visual{gap:4px;transform:scale(.82)}.landing .drop{width:calc(100vw - 28px)}.pdf-active .file-panel{display:none!important}.pdf-active .fair-panel{width:390px!important;max-width:72vw}}.pdf-active .fair-panel{width:min(440px,38vw)!important;min-width:360px;max-width:none;background:#101827}.pdf-active .inspection-flow{height:62px;display:flex;align-items:center;padding:8px 13px;border-bottom:1px solid #2a3c55;background:#111c31}.pdf-active .inspection-flow .flow-step{display:flex;align-items:center;gap:6px;min-width:0;opacity:.46}.pdf-active .inspection-flow .flow-step>span{width:22px;height:22px;display:grid;place-items:center;flex:none;border-radius:50%;background:#253247;color:#8b9ab0;font:600 9px DM Mono}.pdf-active .inspection-flow .flow-step>div{display:grid;gap:1px;min-width:0}.pdf-active .inspection-flow b{font-size:9px;color:#aebccc;white-space:nowrap}.pdf-active .inspection-flow small{font-size:7px;color:#6f8299;white-space:nowrap}.pdf-active .inspection-flow>i{height:1px;flex:1;min-width:8px;margin:0 6px;background:#304159}.pdf-active .inspection-flow .flow-step.active>span{background:#1b7896;color:#fff;box-shadow:0 0 0 3px #32a7cd26}.pdf-active .inspection-flow .flow-step.active b{color:#a9e9ff}.pdf-active .inspection-flow .flow-step.done{opacity:1}.pdf-active .inspection-flow .flow-step.done>span{background:#163e35;color:#82d8b5;font-size:0}.pdf-active .inspection-flow .flow-step.done>span:before{content:"✓";font-size:10px}.pdf-active .inspection-flow .flow-step.done b{color:#8dcbb4}.pdf-active .inspection-flow .flow-step.optional{opacity:.62}.pdf-active .inspection-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid #2a3c55;background:#13263a}.pdf-active .inspection-cta>div{display:grid;gap:2px;min-width:0}.pdf-active .inspection-cta small{font-size:8px;color:#77a2b7}.pdf-active .inspection-cta b{font-size:10px;color:#d9edf5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-active .inspection-cta button{height:30px;flex:none;padding:0 12px;border:1px solid #2789aa;border-radius:5px;background:#1b7896;color:#fff;font-size:9px;font-weight:600;cursor:pointer;box-shadow:0 3px 10px #0000002e}.pdf-active .inspection-cta button:hover{background:#2389aa}.pdf-active .drawing-link{padding:9px 13px 10px;background:#111d2c}.pdf-active .drawing-link-top b{font-size:11px}.pdf-active .drawing-link-control{margin-top:7px}.pdf-active .sample-control.hidden{display:none}.pdf-active .sample-control{height:42px}.pdf-active .table-wrap{display:flex;flex-direction:column;overflow:hidden}.pdf-active .table-wrap>.empty-table{flex:1}.pdf-active .marker-list{flex:none;max-height:min(30vh,230px);overflow:auto;padding-right:3px}.pdf-active .marker-editor{flex:1;min-height:245px;overflow:auto;margin-top:8px}.pdf-active .fair-footer span{font-size:8px}.pdf-active .fair-footer button{font-weight:600}.pdf-active .file-panel .side-actions{display:none}.pdf-active .file-panel,.pdf-active #projectToggle{display:none!important}.pdf-active .file-panel .file-upload label{height:76px;gap:4px;border-radius:10px}.pdf-active .file-panel .file-upload label:before{width:34px;height:34px;font-size:18px;border-radius:8px}.pdf-active .file-panel .file-upload label:after{font-size:7px}.pdf-active.files-open .fair-panel{margin-right:0;max-width:none}.pdf-active.files-open .file-panel{z-index:60;box-shadow:-16px 0 42px #00000061}@media(max-width:1100px){.pdf-active .fair-panel{width:390px!important;min-width:340px;max-width:48vw}.pdf-active .inspection-flow{padding-left:9px;padding-right:9px}.pdf-active .inspection-flow>i{margin:0 3px}.pdf-active .inspection-flow small{display:none}}@media(max-width:760px){.pdf-active .fair-panel{position:absolute;right:0;top:0;bottom:0;z-index:42;width:min(390px,92vw)!important;min-width:0;max-width:92vw;box-shadow:-14px 0 36px #00000057}.pdf-active .viewer-panel{width:100%}.pdf-active .panel-toggle{left:-42px}.pdf-active .file-panel{display:none!important}.pdf-active #projectToggle{display:none}}.pdf-active .fair-panel.closed{width:0!important;min-width:0;box-shadow:none}.pdf-active .panel-toggle{left:-30px;top:14px;width:30px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #34434f;border-right:0;border-radius:8px 0 0 8px;background:#171e26;color:#91a1ad;box-shadow:-7px 3px 16px #00000038}.pdf-active .panel-toggle:hover{color:#e5f3f8;background:#20303b;border-color:#4b7286}.pdf-active .panel-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.pdf-active .fair-panel.closed .panel-toggle svg{transform:rotate(180deg)}.pdf-active .fair-panel.closed .panel-toggle{border-right:1px solid #34434f;border-radius:8px 0 0 8px}.pdf-active .fair-head{height:54px;padding:8px 12px}.pdf-active .inspection-flow{height:36px;padding:0 13px;background:#121a23;border-bottom-color:#293641}.pdf-active .inspection-flow .flow-step{display:flex;align-items:center;gap:6px;opacity:.46;min-width:auto}.pdf-active .inspection-flow .flow-step>span{width:6px;height:6px;padding:0;border-radius:50%;background:#56636e;color:transparent;box-shadow:none}.pdf-active .inspection-flow .flow-step>span:before{content:none!important}.pdf-active .inspection-flow .flow-step>b{font-size:8px;font-weight:500;color:#7e8b96;white-space:nowrap}.pdf-active .inspection-flow .flow-step.active{opacity:1}.pdf-active .inspection-flow .flow-step.active>span{background:#38a7c9;box-shadow:0 0 0 3px #38a7c91f}.pdf-active .inspection-flow .flow-step.active>b{color:#d8eef5}.pdf-active .inspection-flow .flow-step.done{opacity:.86}.pdf-active .inspection-flow .flow-step.done>span{background:#4f9d7d}.pdf-active .inspection-flow .flow-step.done>b{color:#9eb9ad}.pdf-active .inspection-flow .flow-step.optional{opacity:.34}.pdf-active .inspection-flow>i{height:1px;max-width:42px;margin:0 9px;background:#30404c}.pdf-active .inspection-cta{min-height:48px;padding:7px 12px;background:#16232d;border-bottom-color:#2b3b47}.pdf-active .inspection-cta>div{display:flex;align-items:center;gap:8px;min-width:0}.pdf-active .inspection-cta>div>span{flex:none;padding:3px 6px;border:1px solid #366176;border-radius:4px;background:#183849;color:#9bd5e8;font:600 7px DM Mono;letter-spacing:.06em}.pdf-active .inspection-cta b{font-size:9px;font-weight:500;color:#cbd7de}.pdf-active .inspection-cta button{height:31px;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:4px;background:#176f8e;border-color:#3186a4;box-shadow:none;font-size:8px}.pdf-active .inspection-cta button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pdf-active .drawing-link{padding:8px 12px 9px;background:#121b24;border-bottom-color:#293741}.pdf-active .drawing-link-top small{font-size:7px}.pdf-active .drawing-link-top b{font-size:10px}.pdf-active .drawing-link-top em{padding:2px 6px;border-radius:4px;font-size:7px}.pdf-active .drawing-link-control{margin-top:6px;grid-template-columns:minmax(0,1fr) 82px}.pdf-active .drawing-link-control select,.pdf-active .drawing-link-control button{height:28px;font-size:8px}.pdf-active .drawing-link-meta{margin-top:5px;font-size:7px}.pdf-active .sample-control{height:38px}.pdf-active .marker-list{gap:4px}.pdf-active .marker-row{height:50px;grid-template-columns:34px minmax(0,1fr) auto;border-radius:5px;padding:6px 8px;background:#182129;border-color:#293640}.pdf-active .marker-row:hover,.pdf-active .marker-row.hovered{background:#1d2b35;border-color:#3c667a}.pdf-active .marker-row.selected{background:#213743;border-color:#4e8198}.pdf-active .marker-symbol{width:31px;height:31px;display:grid;place-items:center;border:1px solid #35566a;border-radius:5px;background:#162d3b;color:#a8e2f3;font:700 11px DM Mono}.pdf-active .marker-copy b{font-size:10px}.pdf-active .marker-copy small{font-size:7px}.pdf-active .marker-state{border-radius:4px;font-size:7px}.pdf-active .marker-editor{border-radius:6px;background:#111820;border-color:#33434f}.pdf-active .editor-heading{height:45px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:0 10px;background:#18232c;border-color:#2d3c48}.pdf-active .editor-heading>div{min-width:0}.pdf-active .editor-heading>div b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-active .recognition-badge{padding:3px 6px;border:1px solid #4d5d68;border-radius:4px;color:#a9b4bc;background:#202a32;font-size:7px;white-space:nowrap}.pdf-active .recognition-badge.confidence-high{border-color:#396856;color:#9fd2bb;background:#19362d}.pdf-active .recognition-badge.confidence-medium{border-color:#6b6040;color:#d5c58e;background:#342f1f}.pdf-active .recognition-badge.confidence-low{border-color:#6d4448;color:#d7a0a5;background:#342326}.pdf-active .characteristic-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8px;padding:10px}.pdf-active .characteristic-fields label{grid-column:auto!important}.pdf-active .type-select{height:30px;display:grid;grid-template-columns:34px minmax(0,1fr);overflow:hidden;border:1px solid #34434f;border-radius:4px;background:#0e151c}.pdf-active .type-select strong{display:grid;place-items:center;border-right:1px solid #34434f;color:#a8e2f3;font:700 11px DM Mono}.pdf-active .type-select select{min-width:0;border:0;background:transparent;color:#d8e4ea;padding:0 6px;outline:0;font-size:8px}.pdf-active .characteristic-fields input{width:100%}.pdf-active .recognition-raw{margin:0 10px 10px;padding:7px 8px;border:1px solid #293944;border-radius:4px;background:#0d141a;display:grid;gap:3px}.pdf-active .recognition-raw span{color:#71818d;font-size:7px}.pdf-active .recognition-raw b{color:#9eafb9;font:500 8px DM Mono;line-height:1.45;overflow-wrap:anywhere}.pdf-active .empty-table{min-height:180px;border-radius:6px;padding:22px}.pdf-active .empty-table span{font-size:22px}.pdf-active .empty-table p{margin:8px 0 3px}.pdf-active .empty-table small{max-width:260px;color:#718492}@media(max-width:760px){.pdf-active .panel-toggle{left:-30px}.pdf-active .inspection-flow>i{margin:0 6px}.pdf-active .inspection-cta b{max-width:190px}.pdf-active .drawing-link-meta{display:none}}.pdf-active .inspection-flow{display:none!important}.pdf-active .inspection-cta{min-height:43px;justify-content:flex-end;background:#121a23}.pdf-active .inspection-cta>div{display:none}.pdf-active .inspection-cta button{width:100%;justify-content:center;height:30px}.pdf-active #fairPanel.fair-panel{width:var(--fair-panel-width,clamp(460px,38vw,920px))!important;min-width:460px;max-width:min(920px,52vw);background:#101827}.pdf-active #fairPanel.fair-panel.resizing{transition:none}.pdf-active .fair-head{height:54px;padding:0 205px 0 14px;position:relative;background:#101827}.pdf-active .fair-head>div:first-child{min-width:0}.pdf-active .fair-head>div:first-child b{font-size:11px;white-space:nowrap}.pdf-active .fair-head>div:first-child em{border-radius:4px;padding:2px 5px}.pdf-active .inspector-actions{position:absolute;right:176px;top:12px}.pdf-active .inspector-actions #metaToggle{width:30px;height:30px}.pdf-active .drawing-link,.pdf-active .inspection-cta{display:none!important}.pdf-active .metadata{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;padding:10px 12px 11px;background:#111a2c;border-bottom:1px solid #2a3a52}.pdf-active .metadata.hidden{display:none!important}.pdf-active .meta-heading{display:none}.pdf-active .metadata label{font-size:8px;line-height:1.2;color:#8495aa}.pdf-active .metadata input{height:28px;margin-top:4px;padding:0 8px;border-radius:4px;font-size:9px}.pdf-active .sample-control,.pdf-active .sample-control.hidden{position:absolute;right:12px;top:11px;z-index:45;width:154px;height:32px;display:flex!important;align-items:center;justify-content:flex-end;gap:7px;padding:0 6px;border:1px solid #2d3d55;border-radius:4px;background:#0b1323;color:#8e9db0}.pdf-active .sample-control>span{margin-right:auto;font-size:8px;white-space:nowrap}.pdf-active .sample-control>div{display:flex;align-items:center;gap:2px}.pdf-active .sample-control button{width:23px;height:23px;padding:0;border:0;background:transparent;color:#22b8ee;font-size:13px}.pdf-active .sample-control b{min-width:22px;color:#24c2f2;font:600 9px DM Mono;text-align:center}.pdf-active .table-wrap{display:block!important;overflow:hidden;padding:0;background:#101827}.fair-table-shell{width:100%;height:100%;overflow:auto;background:#101827;scrollbar-color:#43566d #111a2a}.fair-data-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:8px;color:#aab8ca}.fair-data-table th{position:sticky;top:0;z-index:3;height:34px;padding:0 6px;text-align:left;border-top:1px solid #273750;border-bottom:1px solid #33445c;background:#1a2639;color:#8c9bb0;font-size:8px;font-weight:600;white-space:nowrap}.fair-data-table td{height:39px;padding:4px;border-bottom:1px solid #26344a;background:#101827}.fair-data-row:hover td,.fair-data-row.hovered td{background:#142238}.fair-data-row.selected td{background:#162942}.fair-data-table .row-no{width:42px;text-align:center;color:#71839a;font:600 8px DM Mono}.fair-data-table .symbol-cell{width:62px}.fair-data-table .nominal-cell{width:160px}.fair-data-table .tolerance-cell{width:94px}.fair-data-table .sample-col,.fair-data-table .sample-cell{width:68px}.fair-data-table th.sample-col{text-align:center;color:#24c2f2}.fair-data-table .tool-cell{width:124px}.fair-data-table .row-action{width:44px;text-align:center}.fair-data-table input,.fair-data-table select{width:100%;height:27px;min-width:0;padding:0 7px;border:1px solid #2d3d56;border-radius:4px;background:#0b1425;color:#d7e3f1;outline:0;font:500 8px DM Mono}.fair-data-table input:focus,.fair-data-table select:focus{border-color:#238ab4;box-shadow:0 0 0 2px #238ab41f}.fair-data-table .symbol-cell select{text-align:center;color:#e7c77c;padding-left:3px}.fair-data-table .nominal-cell input{color:#d9f0ff;font-weight:600}.fair-data-table .tolerance-cell input{text-align:center}.fair-data-table .sample-cell input{text-align:center;color:#72cbb1}.fair-data-table .tool-cell select{font-family:Noto Sans SC,sans-serif;color:#c2cfde}.fair-data-table .row-action button{width:25px;height:25px;display:grid;place-items:center;margin:auto;border:0;background:transparent;color:#61738b;cursor:pointer}.fair-data-table .row-action button:hover{color:#ee8290}.fair-data-table .row-action svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.fair-empty-row td{height:135px;text-align:center;color:#65768d}.fair-empty-row td b,.fair-empty-row td span{display:block}.fair-empty-row td b{color:#9aabbd;font-size:9px}.fair-empty-row td span{margin-top:5px;font-size:8px}.pdf-active .fair-footer{height:46px}.pdf-active .fair-footer button{height:30px;padding:0 11px}@media(max-width:1100px){.pdf-active #fairPanel.fair-panel{width:var(--fair-panel-width,46vw)!important;min-width:420px;max-width:54vw}.pdf-active .fair-head{padding-right:195px}.fair-data-table{min-width:800px}}@media(max-width:760px){.pdf-active #fairPanel.fair-panel{width:min(var(--fair-panel-width, calc(100vw - 30px) ),calc(100vw - 30px))!important;max-width:none;min-width:0}.pdf-active .fair-head{padding-left:10px}.pdf-active .metadata{padding-left:9px;padding-right:9px}.pdf-active .sample-control,.pdf-active .sample-control.hidden{right:8px;width:148px}}
