:root{color-scheme:light;--background:#eef3f8;--background-strong:#dfe8f1;--chrome:#0c1c2b;--chrome-2:#142a3c;--surface:#ffffff;--surface-muted:#f5f8fb;--surface-raised:#fbfdff;--text:#172230;--muted:#667386;--line:#d7e0ea;--line-strong:#becbd8;--accent:#1d6eea;--accent-dark:#144fb1;--brand-orange:#ff4800;--pipe-orange:#ff4800;--pipe:#f59e0b;--pipe-dark:#bd6d07;--success:#14825d;--danger:#b42318;--warning:#a35d00;--shadow:0 18px 42px rgba(12,28,43,0.14)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:linear-gradient(180deg,rgba(255,255,255,.75),transparent 220px),var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.6}.app-shell{min-height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr)}.app-shell>main{min-height:0;overflow:auto}.app-shell.viewer-shell>main{overflow:hidden}.topbar{min-height:64px;justify-content:space-between;gap:24px;padding:0 28px;background:linear-gradient(90deg,rgba(29,110,234,.14),transparent 42%),var(--chrome);color:#f8fbff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.actions,.toolbar-row,.topbar,.topbar-left,.topbar-right{display:flex;align-items:center}.topbar-left{min-width:0;gap:30px}.topbar-context{flex:1 1;min-width:0;display:flex;align-items:center;justify-content:center}.topbar-context:empty{display:none}.topbar-right{gap:10px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;font-size:18px;font-weight:800}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#ffffff;box-shadow:0 6px 18px rgba(0,0,0,.16);overflow:hidden}.brand-mark.small{width:34px;height:34px;border-color:var(--line);background:#ffffff;box-shadow:none}.brand-mark-image{width:100%;height:100%;display:block;object-fit:contain}.brand-wordmark{width:min(245px,100%);height:auto;display:block}.surface-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--accent)}.surface-icon.small{width:34px;height:34px}.viewer-context{min-width:0;max-width:100%;display:flex;align-items:center;justify-content:center;gap:12px}.viewer-context-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.07);color:#dceaff}.viewer-context-title{min-width:0;display:grid;grid-gap:1px;gap:1px}.viewer-context-title span{color:#9fb1c4;font-size:11px;font-weight:850;letter-spacing:0;text-transform:uppercase}.viewer-context-title strong{max-width:min(520px,45vw);overflow:hidden;color:#ffffff;font-size:15px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.compact-button{min-height:34px;padding:0 11px}.page{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:28px 0 36px}.viewer-page{width:min(1540px,calc(100% - 32px))}.fixed-viewer-page{width:100%;height:100%;margin:0;padding:8px;overflow:hidden;display:grid}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.header-block{min-width:0}.header-title-row{display:flex;align-items:center;gap:12px;min-width:0}.eyebrow{margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}dl,h1,h2,h3,p{margin-top:0}h1{margin-bottom:7px;color:#0f1b28;font-size:28px;line-height:1.15}h1,h2{letter-spacing:0}h2{margin-bottom:0;font-size:17px;line-height:1.3}h3{margin-bottom:5px;font-size:14px;line-height:1.35;letter-spacing:0}.muted{color:var(--muted)}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.panel-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-title-line{min-width:0;display:inline-flex;align-items:center;gap:10px}.panel-context-label{max-width:320px;min-height:26px;display:inline-flex;align-items:center;overflow:hidden;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.panel-body{padding:18px}.section-gap{margin-top:20px}.actions,.toolbar-row{gap:10px;flex-wrap:wrap}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.table tr:last-child td{border-bottom:0}.narrow-column{width:1%;white-space:nowrap}.project-row.expanded td{border-bottom:0}.row-toggle{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--muted);cursor:pointer}.row-toggle:hover{border-color:rgba(29,110,234,.35);color:var(--accent);background:var(--surface-muted)}.project-detail-row td{padding:0 14px 16px;background:#f8fbfe}.project-file-panel{padding-top:12px;border-top:1px solid var(--line)}.project-file-table{width:100%;border-collapse:collapse;font-size:13px}.project-file-table td,.project-file-table th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.project-file-table th{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.project-file-table tr:last-child td{border-bottom:0}.table-primary{font-weight:750}.empty-row{height:86px;color:var(--muted);text-align:center}.status{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.status.ready{border-color:rgba(20,130,93,.22);background:#edf8f3;color:var(--success)}.status.pending{border-color:rgba(163,93,0,.22);background:#fff8eb;color:var(--warning)}.status.queued{border-color:rgba(29,110,234,.22);background:#eef6ff;color:#1f5f99}.status.processing{border-color:rgba(163,93,0,.22);background:#fff8eb;color:var(--warning)}.status.needs-translation{border-color:rgba(31,95,153,.22);background:#eef6ff;color:#1f5f99}.status.error{border-color:rgba(180,35,24,.22);background:#fff1f0;color:var(--danger)}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#ffffff;cursor:pointer;font-weight:800;white-space:nowrap}.button:hover{background:var(--accent-dark)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.topbar .button.secondary{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#edf5ff}.button.secondary:hover{background:var(--surface-muted)}.button.disabled-button,.button.disabled-button:hover{border-color:var(--line);background:var(--surface-muted);color:var(--muted);cursor:default}.topbar .button.secondary:hover{background:rgba(255,255,255,.12)}.form-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,rgba(12,28,43,.96),rgba(20,42,60,.9)),linear-gradient(180deg,var(--background),var(--background-strong))}.login-panel{width:min(430px,100%);padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:18px;font-weight:850}.login-brand-wordmark{display:block;margin-bottom:20px}.form-field{display:grid;grid-gap:8px;gap:8px;margin-bottom:15px}.form-field label{color:var(--muted);font-size:13px;font-weight:800}.form-field input,.search-input,.select-input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);outline:none}.form-field input:focus,.search-input:focus,.select-input:focus{border-color:rgba(29,110,234,.7);box-shadow:0 0 0 3px rgba(29,110,234,.13)}.compact-input{max-width:340px}.search-field{width:min(360px,100%);position:relative}.search-field svg{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-field .search-input{padding-left:38px}.form-error{min-height:20px;color:var(--danger);font-size:14px}.workspace-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;min-height:64px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.viewer-frame{min-height:620px;display:grid;place-items:center;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(15,27,40,.08) 1px,transparent 0),linear-gradient(rgba(15,27,40,.08) 1px,transparent 0),#cfd6de;background-size:36px 36px}.viewer-panel{min-height:calc(100vh - 170px);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.fixed-viewer-page .viewer-panel{width:100%;height:100%;min-height:0}.viewer-frame.live{display:block;background:#cfd6de}.aps-viewer-shell{width:100%;min-width:0;min-height:620px;height:calc(100vh - 215px);position:relative}.viewer-panel .aps-viewer-shell{min-height:calc(100vh - 170px);height:calc(100vh - 170px)}.fixed-viewer-page .aps-viewer-shell{min-height:0;height:100%}.aps-viewer-canvas{position:absolute;inset:0;width:100%;height:100%}.aps-viewer-canvas>.adsk-viewing-viewer{width:100%!important;height:100%!important}.aps-viewer-shell .adsk-viewing-viewer .adsk-toolbar{display:none!important}.aps-viewer-shell.window-select-active .aps-viewer-canvas{cursor:crosshair}.viewer-selection-window{position:absolute;z-index:4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 8px 22px rgba(12,28,43,.12);pointer-events:none}.viewer-selection-window.isolate{border:1px solid rgba(255,72,0,.95);background:rgba(255,72,0,.13)}.viewer-annotation-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.viewer-annotation-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.viewer-annotation-leaders line{stroke:rgba(12,28,43,.7);stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}.viewer-annotation-leaders line.tag{stroke:rgba(255,72,0,.74)}.viewer-annotation-leaders line.drawingNumber{stroke:rgba(0,112,243,.72)}.viewer-annotation-leaders line.bomItem{stroke:rgba(255,72,0,.96);stroke-width:2.4;filter:drop-shadow(0 1px 1px rgba(12,28,43,.42))}.viewer-annotation-leaders line.cutLength{stroke:rgba(12,28,43,.72)}.viewer-annotation-label{position:absolute;max-width:220px;min-height:26px;display:inline-flex;align-items:center;padding:5px 8px;overflow:hidden;color:#ffffff;border:1px solid rgba(255,255,255,.66);border-radius:6px;box-shadow:0 8px 22px rgba(12,28,43,.22);font-size:12px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.viewer-annotation-label.lineNumber{background:rgba(12,28,43,.92)}.viewer-annotation-label.tag{background:rgba(255,72,0,.94)}.viewer-annotation-label.drawingNumber{background:rgba(0,112,243,.92)}.viewer-annotation-label.bomItem{width:36px;min-height:36px;justify-content:center;padding:0;border:2px solid #ffffff;border-radius:999px;background:#ff4800;color:#ffffff;box-shadow:0 0 0 2px rgba(12,28,43,.9),0 8px 20px rgba(255,72,0,.36),0 10px 24px rgba(12,28,43,.28);font-size:14px;font-weight:950;text-shadow:0 1px 1px rgba(12,28,43,.45)}.viewer-annotation-label.cutLength{min-height:26px;border-color:rgba(255,176,136,.32);background:rgba(248,251,255,.94);color:var(--pipe-dark);box-shadow:0 8px 22px rgba(12,28,43,.16);font-size:11px}.viewer-annotation-message{top:64px;max-width:min(420px,calc(100% - 32px));padding:8px 10px;color:#ffffff;background:rgba(12,28,43,.86);box-shadow:0 8px 22px rgba(12,28,43,.18);font-size:12px;font-weight:800}.viewer-annotation-message,.viewer-filter-palette{position:absolute;right:16px;border:1px solid rgba(255,255,255,.14);border-radius:8px}.viewer-filter-palette{top:66px;z-index:4;width:min(372px,calc(100% - 32px));display:grid;grid-gap:15px;gap:15px;padding:16px;background:rgba(12,28,43,.94);box-shadow:0 18px 44px rgba(12,28,43,.34);color:#f8fbff;pointer-events:auto}.viewer-filter-palette:before{content:"";position:absolute;top:0;right:12px;left:12px;height:3px;border-radius:0 0 8px 8px;background:var(--pipe-orange)}.viewer-filter-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.viewer-filter-title{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);grid-column-gap:9px;column-gap:9px;align-items:center}.viewer-filter-icon{width:30px;height:30px;display:grid;place-items:center;grid-row:span 2;border:1px solid rgba(255,176,136,.26);border-radius:8px;background:rgba(255,255,255,.08);color:#ffb088}.viewer-filter-header h2{margin:0;color:#ffb088;font-size:16px;line-height:1.2}.viewer-filter-header p{margin:4px 0 0;color:#b5c3d2;font-size:12px;line-height:1.35}.viewer-filter-close{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.08);color:#f8fbff;cursor:pointer}.viewer-filter-close:hover{border-color:rgba(255,72,0,.34);color:var(--pipe-orange)}.viewer-filter-fields{display:grid;grid-gap:11px;gap:11px}.viewer-filter-field{display:grid;grid-gap:6px;gap:6px}.viewer-filter-field span{color:#d4deea;font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.viewer-filter-field input,.viewer-filter-field select{width:100%;min-height:38px;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#f8fbff;color:var(--pipe-dark);font:inherit;font-size:13px}.viewer-filter-field input::placeholder{color:#6f7f91}.viewer-filter-field input:focus,.viewer-filter-field select:focus{border-color:rgba(255,72,0,.48);box-shadow:0 0 0 3px rgba(255,72,0,.12);outline:none}.viewer-filter-line-list{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06)}.viewer-filter-line-list summary{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;color:#d4deea;cursor:pointer;font-size:11px;font-weight:900;letter-spacing:0;list-style:none;text-transform:uppercase}.viewer-filter-line-list summary::-webkit-details-marker{display:none}.viewer-filter-line-list summary:after{content:"";width:7px;height:7px;flex:0 0 auto;border-right:2px solid #ffb088;border-bottom:2px solid #ffb088;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.viewer-filter-line-list[open] summary:after{transform:rotate(225deg) translateY(-1px)}.viewer-filter-line-list summary strong{margin-left:auto;padding:2px 7px;border-radius:999px;background:rgba(255,176,136,.14);color:#ffb088;font-size:11px}.viewer-filter-selected-lines{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;border-top:1px solid rgba(255,255,255,.1);color:#b5c3d2;font-size:12px;font-weight:800}.viewer-filter-selected-lines button{min-height:24px;padding:0 8px;border:1px solid rgba(255,176,136,.28);border-radius:6px;background:rgba(255,176,136,.12);color:#ffb088;cursor:pointer;font:inherit;font-size:11px;font-weight:900}.viewer-filter-line-options{max-height:220px;display:grid;grid-gap:2px;gap:2px;padding:6px;overflow-y:auto;border-top:1px solid rgba(255,255,255,.1)}.viewer-filter-line-options button{min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#f8fbff;cursor:pointer;font:inherit;font-size:12px;font-weight:800;text-align:left}.viewer-filter-line-options button.active,.viewer-filter-line-options button:hover{border-color:rgba(255,176,136,.28);background:rgba(255,176,136,.12)}.viewer-filter-line-options button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-filter-line-options button small{color:#b5c3d2;font-size:11px;font-weight:900}.viewer-filter-line-options p{margin:0;padding:8px;color:#b5c3d2;font-size:12px}.viewer-filter-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.viewer-filter-actions button{min-height:36px;padding:0 13px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:900}.viewer-filter-actions button:disabled{cursor:not-allowed;opacity:1}.viewer-filter-apply{border:1px solid rgba(255,72,0,.5);background:var(--pipe-orange);color:#ffffff}.viewer-filter-apply:disabled{border-color:#d7e0eb;background:#edf2f7;color:#8a98a8}.viewer-filter-clear{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);color:#f8fbff}.viewer-filter-clear:not(:disabled):hover{border-color:rgba(255,176,136,.34);color:#ffb088}.viewer-bom-panel{position:absolute;right:12px;bottom:12px;left:12px;z-index:4;height:min(260px,42vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(12,28,43,.94);box-shadow:0 18px 44px rgba(12,28,43,.34);color:#f8fbff;pointer-events:auto}.viewer-bom-panel:before{content:"";position:absolute;top:0;right:14px;left:14px;height:3px;border-radius:0 0 8px 8px;background:var(--pipe-orange)}.viewer-bom-header{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px 9px;border-bottom:1px solid rgba(255,255,255,.1)}.viewer-bom-header h2{margin:0;color:#ffb088;font-size:15px;line-height:1.15}.viewer-bom-header p{margin:4px 0 0;overflow:hidden;color:#b5c3d2;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.viewer-bom-heading{min-width:0}.viewer-bom-scope{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.viewer-bom-scope span{max-width:180px;min-height:23px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;overflow:hidden;border:1px solid rgba(255,176,136,.2);border-radius:999px;background:rgba(255,176,136,.1);color:#f8fbff;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.viewer-bom-scope strong{color:#ffcfb7;font-size:10px;font-weight:900;text-transform:uppercase}.viewer-bom-summary{display:inline-flex;align-items:center;gap:6px}.viewer-bom-summary span{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid rgba(255,176,136,.22);border-radius:999px;background:rgba(255,176,136,.1);color:#ffcfb7;font-size:11px;font-weight:900;white-space:nowrap}.viewer-bom-actions{display:inline-flex;align-items:center;gap:8px}.viewer-bom-export{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid rgba(255,176,136,.26);border-radius:8px;background:rgba(255,176,136,.1);color:#ffcfb7;cursor:pointer;font:inherit;font-size:12px;font-weight:900;white-space:nowrap}.viewer-bom-export:hover:not(:disabled){border-color:rgba(255,72,0,.42);background:rgba(255,72,0,.18);color:#ffffff}.viewer-bom-export:disabled{cursor:not-allowed;opacity:.5}.viewer-bom-toggle{min-height:30px;display:inline-flex;align-items:center;gap:8px;padding:0 9px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.08);color:#f8fbff;cursor:pointer;font-size:12px;font-weight:900;white-space:nowrap}.viewer-bom-toggle input{width:14px;height:14px;margin:0;accent-color:var(--pipe-orange)}.viewer-bom-toggle:has(input:checked){border-color:rgba(255,72,0,.38);background:rgba(255,72,0,.18)}.viewer-bom-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.08);color:#f8fbff;cursor:pointer}.viewer-bom-close:hover{border-color:rgba(255,72,0,.34);color:var(--pipe-orange)}.viewer-bom-table-wrap{min-height:0;overflow:auto}.viewer-bom-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.viewer-bom-table td,.viewer-bom-table th{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}.viewer-bom-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:rgba(12,28,43,.98);color:#b5c3d2;font-size:10px;font-weight:900;letter-spacing:0;text-transform:uppercase}.viewer-bom-filter-row th{top:31px;padding:5px 6px 7px;background:rgba(15,34,52,.98)}.viewer-bom-filter-row input{width:100%;min-width:0;height:28px;padding:0 8px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.08);color:#f8fbff;font:inherit;font-size:11px;font-weight:800;outline:none}.viewer-bom-filter-row input::placeholder{color:#8ea0b4}.viewer-bom-filter-row input:focus{border-color:rgba(255,176,136,.42);background:rgba(255,255,255,.12)}.viewer-bom-filter-row input:disabled{cursor:not-allowed;opacity:.55}.viewer-bom-table td{color:#f8fbff;font-weight:760}.viewer-bom-table td:first-child,.viewer-bom-table th:first-child{width:56px;text-align:center}.viewer-bom-table td:nth-child(2),.viewer-bom-table th:nth-child(2){width:116px}.viewer-bom-table td:nth-child(3),.viewer-bom-table td:nth-child(4),.viewer-bom-table th:nth-child(3),.viewer-bom-table th:nth-child(4){width:104px}.viewer-bom-table td:nth-child(6),.viewer-bom-table th:nth-child(6){width:210px}.viewer-bom-table tbody tr:hover{background:rgba(255,255,255,.05)}.viewer-tool-chrome{position:absolute;top:12px;right:98px;left:12px;z-index:3;display:flex;align-items:flex-start;pointer-events:none}.viewer-command-ribbon{max-width:100%;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:5px;border:1px solid rgba(12,28,43,.18);border-radius:8px;background:rgba(12,28,43,.91);color:#f8fbff;box-shadow:0 12px 32px rgba(12,28,43,.22);pointer-events:auto}.viewer-tool-summary{min-width:164px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;padding:0 7px 0 3px;border-right:1px solid rgba(255,255,255,.14)}.viewer-tool-summary-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.08);color:#ffb088}.viewer-tool-summary span,.viewer-tool-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-tool-summary strong{font-size:12px;line-height:1.25}.viewer-tool-summary span{margin-top:1px;color:#b5c3d2;font-size:11px;line-height:1.25}.viewer-tool-groups{min-width:0;display:inline-flex;align-items:center;gap:5px}.viewer-tool-group{display:inline-flex;align-items:center;gap:3px;padding-right:5px;border-right:1px solid rgba(255,255,255,.13)}.viewer-tool-group:last-child{border-right:0}.viewer-tool-button{min-width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#eff6ff;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}.viewer-tool-button:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.1)}.viewer-tool-button.active{border-color:rgba(255,72,0,.38);background:rgba(255,72,0,.18);color:#ffffff}.viewer-tool-button svg{flex:0 0 auto}.viewer-tool-short-label{display:none}.viewer-tool-collapse{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.viewer-tool-chrome.collapsed{right:auto}.viewer-tool-chrome.collapsed .viewer-command-ribbon{align-items:flex-start;flex-direction:column;width:48px}.viewer-tool-chrome.collapsed .viewer-tool-label,.viewer-tool-chrome.collapsed .viewer-tool-short-label,.viewer-tool-chrome.collapsed .viewer-tool-summary{display:none}.viewer-tool-chrome.collapsed .viewer-tool-group,.viewer-tool-chrome.collapsed .viewer-tool-groups{display:contents}.viewer-tool-chrome.collapsed .viewer-tool-button{width:38px;padding:0}.viewer-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;grid-gap:10px;gap:10px;align-content:center;padding:24px;background:rgba(238,243,248,.88);text-align:center}.viewer-overlay p{max-width:760px;margin:0;color:var(--muted);overflow-wrap:anywhere;line-height:1.55}.viewer-diagnostic-hint{max-width:680px;margin:0;color:var(--warning);font-size:13px;line-height:1.45}.viewer-state{display:grid;grid-gap:10px;gap:10px;place-items:center;padding:24px;text-align:center}.viewer-state-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(245,158,11,.42);border-radius:8px;background:#fff8eb;color:var(--pipe-dark)}.spin{animation:spin .9s linear infinite}.project-link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.project-link-title{min-width:0;font-weight:800}.project-link-subtitle{margin-top:3px;color:var(--muted);font-size:12px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:960px){.viewer-filter-palette{top:10px;right:10px;left:64px;width:auto;max-height:calc(100dvh - 20px);overflow-y:auto}.viewer-bom-panel{right:10px;bottom:10px;left:64px;height:min(236px,42vh)}.viewer-bom-header{grid-template-columns:minmax(0,1fr) auto auto}.viewer-bom-summary{display:none}.viewer-bom-actions{gap:6px}.viewer-bom-export span,.viewer-bom-toggle span{display:none}.viewer-tool-chrome{top:10px;right:auto;left:10px}.viewer-command-ribbon{align-items:flex-start;flex-direction:column;max-height:calc(100dvh - 92px);overflow-y:auto}.viewer-tool-summary{display:none}.viewer-tool-group,.viewer-tool-groups{display:contents}.viewer-tool-button{width:42px;height:38px;padding:0}.viewer-tool-label,.viewer-tool-short-label{display:none}}@media (max-width:780px){.topbar{align-items:center;flex-direction:row;gap:10px;padding:8px 10px;overflow:hidden}.topbar-left,.topbar-right{flex:0 0 auto;justify-content:flex-start}.topbar-left{align-items:center;flex-direction:row;gap:8px}.viewer-shell .brand span:last-child,.viewer-shell .viewer-context .status,.viewer-shell .viewer-context-icon,.viewer-shell .viewer-context-title span{display:none}.viewer-context,.viewer-shell .topbar-context{justify-content:flex-start}.viewer-context{gap:8px}.viewer-context-title strong{max-width:calc(100vw - 210px);font-size:13px}.viewer-context .compact-button{width:36px;padding:0;overflow:hidden;font-size:0}.topbar-right{flex-wrap:nowrap}.page,.viewer-page{width:min(100% - 24px,1240px);padding:20px 0 28px}.fixed-viewer-page{width:100%;height:100%;padding:6px}.page-header,.workspace-strip{grid-template-columns:1fr}.page-header,.panel-header,.workspace-strip{align-items:flex-start;flex-direction:column}.actions,.toolbar-row{width:100%}.button{min-width:0}.viewer-frame,.viewer-panel .aps-viewer-shell{min-height:520px;height:520px}.fixed-viewer-page .viewer-frame,.fixed-viewer-page .viewer-panel .aps-viewer-shell{min-height:0;height:100%}.viewer-tool-chrome{top:10px;right:auto;left:10px}.viewer-command-ribbon{align-items:flex-start;flex-direction:column;max-height:calc(100dvh - 92px);overflow-y:auto}.viewer-tool-summary{display:none}.viewer-tool-group,.viewer-tool-groups{display:contents}.viewer-tool-button{width:42px;height:38px;padding:0}.viewer-tool-label,.viewer-tool-short-label{display:none}.viewer-bom-panel{left:10px;height:min(224px,42vh)}.table{min-width:680px}.project-file-table{min-width:620px}}@media print{@page{margin:0;size:landscape}.app-shell,.app-shell>main,.aps-viewer-shell,.fixed-viewer-page,.viewer-frame,.viewer-panel,body,html{width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#ffffff!important}body *{visibility:hidden!important}.aps-viewer-shell,.aps-viewer-shell *{visibility:visible!important}.topbar,.viewer-bom-panel,.viewer-filter-palette,.viewer-overlay,.viewer-selection-window,.viewer-tool-chrome{display:none!important}.aps-viewer-shell{position:fixed!important;inset:0!important}.aps-viewer-canvas,.viewer-annotation-layer{position:absolute!important;inset:0!important}}