@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.comment-marker{background:var(--bim-ui--color-main);color:#fff;padding:6px 12px;border-radius:16px;font-size:11px;font-weight:500;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #0000004d;pointer-events:auto}.comment-marker:hover{transform:scale(1.1);box-shadow:0 4px 16px #6c63ff80}.comment-marker.selected{background:var(--bim-ui--color-accent);transform:scale(1.15);box-shadow:0 4px 20px #ff6b6b80}.cluster-marker{background:var(--bim-ui--color-warning);color:#1a1a2e;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;cursor:pointer}#comments-panel{padding:8px;display:flex;flex-direction:column;gap:8px}.comment-topic-card{background:var(--bim-ui--bg-contrast-10);border-radius:var(--bim-ui--rounding-base);padding:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease;border-left:3px solid var(--bim-ui--color-main)}.comment-topic-card:hover{background:var(--bim-ui--bg-contrast-20)}.comment-topic-card.selected{border-left-color:var(--bim-ui--color-accent);background:var(--bim-ui--bg-contrast-20)}.comment-topic-title{font-weight:600;font-size:13px;margin-bottom:4px;color:var(--bim-ui--bg-contrast-100)}.comment-topic-description{font-size:11px;color:var(--bim-ui--bg-contrast-60);margin-bottom:6px;line-height:1.4}.comment-topic-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--bim-ui--bg-contrast-60)}.comment-topic-actions{display:flex;gap:4px;margin-top:8px}.comment-topic-actions button{padding:4px 8px;font-size:10px;background:var(--bim-ui--bg-contrast-20);border:none;border-radius:4px;color:var(--bim-ui--bg-contrast-100);cursor:pointer;transition:background .15s ease}.comment-topic-actions button:hover{background:var(--bim-ui--bg-contrast-40)}.comment-topic-actions button.btn-delete:hover{background:var(--bim-ui--color-accent);color:#fff}.comment-reply{background:var(--bim-ui--bg-contrast-20);padding:8px;border-radius:4px;margin-top:8px;font-size:12px}.comment-reply-author{font-weight:500;color:var(--bim-ui--color-main);font-size:10px;margin-bottom:4px}.comment-reply-text{color:var(--bim-ui--bg-contrast-80);line-height:1.4}.comment-reply-date{font-size:9px;color:var(--bim-ui--bg-contrast-60);margin-top:4px}.reply-form{display:flex;gap:8px;margin-top:8px}.reply-form input{flex:1;padding:6px 10px;background:var(--bim-ui--bg-base);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:4px;color:var(--bim-ui--bg-contrast-100);font-size:11px}.reply-form input:focus{outline:none;border-color:var(--bim-ui--color-main)}.reply-form button{padding:6px 12px;background:var(--bim-ui--color-main);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;transition:background .15s ease}.reply-form button:hover{background:#5a52d9}.comment-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:12px;padding:24px;min-width:400px;max-width:90vw;z-index:1000;box-shadow:0 8px 32px #00000080}.comment-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.comment-dialog h3{margin-bottom:20px;font-size:18px;color:var(--bim-ui--bg-contrast-100)}.comment-dialog input,.comment-dialog textarea,.comment-dialog select{width:100%;padding:12px;margin-bottom:12px;background:var(--bim-ui--bg-base);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:13px;transition:border-color .15s ease}.comment-dialog input:focus,.comment-dialog textarea:focus,.comment-dialog select:focus{outline:none;border-color:var(--bim-ui--color-main)}.comment-dialog input::placeholder,.comment-dialog textarea::placeholder{color:var(--bim-ui--bg-contrast-60)}.comment-dialog textarea{min-height:80px;resize:vertical}.comment-dialog .dialog-row{display:flex;gap:12px}.comment-dialog .dialog-row select{flex:1}.comment-dialog-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.comment-dialog-buttons button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:13px;transition:background .15s ease,transform .1s ease}.comment-dialog-buttons button:active{transform:scale(.98)}.comment-dialog-buttons .btn-primary{background:var(--bim-ui--color-main);color:#fff}.comment-dialog-buttons .btn-primary:hover{background:#5a52d9}.comment-dialog-buttons .btn-secondary{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.comment-dialog-buttons .btn-secondary:hover{background:var(--bim-ui--bg-contrast-40)}.comment-topic-card.priority-high{border-left-color:var(--bim-ui--color-accent)!important}.comment-topic-card.priority-normal{border-left-color:var(--bim-ui--color-main)!important}.comment-topic-card.priority-low{border-left-color:var(--bim-ui--color-success)!important}.status-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase}.status-badge.status-open{background:var(--bim-ui--color-warning);color:#1a1a2e}.status-badge.status-in-progress{background:var(--bim-ui--color-main);color:#fff}.status-badge.status-resolved{background:var(--bim-ui--color-success);color:#1a1a2e}.status-badge.status-closed{background:var(--bim-ui--bg-contrast-40);color:#fff}.type-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:500;background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-80)}.comments-panel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--bim-ui--bg-contrast-20);margin-bottom:8px}.comments-panel-header span{font-size:11px;color:var(--bim-ui--bg-contrast-60)}.comments-panel-empty{text-align:center;padding:24px 12px;color:var(--bim-ui--bg-contrast-60)}.comments-panel-empty .hint{color:var(--bim-ui--color-main);font-size:11px;margin-top:4px}.rfi-marker{background:#f59e0b;color:#1a1a2e;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700;cursor:pointer;pointer-events:auto;white-space:nowrap;box-shadow:0 2px 8px #0006;border:2px solid rgba(255,255,255,.3);transition:transform .15s ease,box-shadow .15s ease;user-select:none}.rfi-marker:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000080}.rfi-priority-critical{background:#ef4444;color:#fff;animation:rfi-pulse 2s ease-in-out infinite}.rfi-priority-high{background:#f97316;color:#fff}.rfi-priority-normal{background:#f59e0b;color:#1a1a2e}.rfi-priority-low{background:#6b7280;color:#fff}.rfi-resolved{opacity:.5}@keyframes rfi-pulse{0%,to{box-shadow:0 2px 8px #ef444466}50%{box-shadow:0 2px 16px #ef4444cc}}.rfi-panel-empty{text-align:center;padding:24px 12px;color:var(--bim-ui--bg-contrast-60)}.rfi-panel-empty .hint{color:var(--bim-ui--color-main);font-size:11px;margin-top:4px}.rfi-panel-header{padding-bottom:8px;border-bottom:1px solid var(--bim-ui--bg-contrast-20);margin-bottom:8px}.rfi-panel-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.rfi-panel-count{font-size:11px;color:var(--bim-ui--bg-contrast-60)}.rfi-export-btn{background:transparent;border:1px solid var(--bim-ui--bg-contrast-30);color:var(--bim-ui--bg-contrast-80);padding:3px 10px;border-radius:4px;font-size:10px;cursor:pointer;transition:background .15s ease}.rfi-export-btn:hover{background:var(--bim-ui--bg-contrast-20)}.rfi-panel-filters{display:flex;gap:6px}.rfi-status-filter,.rfi-search-input{flex:1;padding:4px 8px;border:1px solid var(--bim-ui--bg-contrast-20);border-radius:4px;background:var(--bim-ui--bg-contrast-10);color:var(--bim-ui--bg-contrast-80);font-size:11px;outline:none}.rfi-status-filter:focus,.rfi-search-input:focus{border-color:var(--bim-ui--color-main)}.rfi-no-results{text-align:center;color:var(--bim-ui--bg-contrast-40);font-size:11px;padding:16px 0}.rfi-card{padding:10px;border-radius:6px;border-left:3px solid #f59e0b;background:var(--bim-ui--bg-contrast-10);margin-bottom:6px;cursor:pointer;transition:background .15s ease}.rfi-card:hover{background:var(--bim-ui--bg-contrast-20)}.rfi-card-selected{background:var(--bim-ui--bg-contrast-20);border-left-width:4px}.rfi-card.rfi-priority-critical{border-left-color:#ef4444}.rfi-card.rfi-priority-high{border-left-color:#f97316}.rfi-card.rfi-priority-normal{border-left-color:#f59e0b}.rfi-card.rfi-priority-low{border-left-color:#22c55e}.rfi-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rfi-number-badge{font-size:10px;font-weight:700;color:var(--bim-ui--color-main)}.rfi-status-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:500}.rfi-status-draft{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-60)}.rfi-status-open{background:#3b82f6;color:#fff}.rfi-status-in-review{background:#f59e0b;color:#1a1a2e}.rfi-status-answered{background:#22c55e;color:#1a1a2e}.rfi-status-closed{background:var(--bim-ui--bg-contrast-40);color:#fff}.rfi-card-subject{font-size:12px;font-weight:500;color:var(--bim-ui--bg-contrast-80);margin-bottom:4px}.rfi-card-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--bim-ui--bg-contrast-40)}.rfi-card-element{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.rfi-card-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.rfi-detail-screenshot{width:100%;border-radius:4px;margin-bottom:8px;border:1px solid var(--bim-ui--bg-contrast-20)}.rfi-detail-description{font-size:11px;color:var(--bim-ui--bg-contrast-60);margin-bottom:8px;line-height:1.4}.rfi-detail-element-info{background:var(--bim-ui--bg-contrast-10);border-radius:4px;padding:8px;margin-bottom:8px}.rfi-detail-row{display:flex;justify-content:space-between;font-size:10px;padding:2px 0;color:var(--bim-ui--bg-contrast-60)}.rfi-detail-label{color:var(--bim-ui--bg-contrast-40);min-width:60px}.rfi-mono{font-family:monospace;font-size:10px}.rfi-color-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:middle;margin-right:4px;border:1px solid rgba(255,255,255,.2)}.rfi-detail-status-change{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;color:var(--bim-ui--bg-contrast-60)}.rfi-detail-status-change select{flex:1;padding:3px 6px;border:1px solid var(--bim-ui--bg-contrast-20);border-radius:4px;background:var(--bim-ui--bg-contrast-10);color:var(--bim-ui--bg-contrast-80);font-size:11px}.rfi-responses-section{margin-bottom:8px}.rfi-responses-title{font-size:10px;font-weight:600;color:var(--bim-ui--bg-contrast-60);margin-bottom:4px}.rfi-response{padding:6px 8px;background:var(--bim-ui--bg-contrast-10);border-radius:4px;margin-bottom:4px}.rfi-response-author{font-size:10px;font-weight:600;color:var(--bim-ui--bg-contrast-80)}.rfi-response-text{font-size:11px;color:var(--bim-ui--bg-contrast-60);margin:2px 0}.rfi-response-date{font-size:9px;color:var(--bim-ui--bg-contrast-40)}.rfi-add-response{display:flex;gap:4px;margin-bottom:8px}.rfi-response-input{flex:1;padding:4px 8px;border:1px solid var(--bim-ui--bg-contrast-20);border-radius:4px;background:var(--bim-ui--bg-contrast-10);color:var(--bim-ui--bg-contrast-80);font-size:11px;outline:none}.rfi-response-input:focus{border-color:var(--bim-ui--color-main)}.rfi-response-btn{padding:4px 10px;background:var(--bim-ui--color-main);color:#fff;border:none;border-radius:4px;font-size:10px;cursor:pointer;transition:opacity .15s ease}.rfi-response-btn:hover{opacity:.85}.rfi-card-actions{display:flex;gap:6px}.rfi-navigate-btn,.rfi-delete-btn{flex:1;padding:5px 10px;border-radius:4px;font-size:10px;cursor:pointer;border:1px solid var(--bim-ui--bg-contrast-20);background:transparent;color:var(--bim-ui--bg-contrast-80);transition:background .15s ease}.rfi-navigate-btn:hover{background:var(--bim-ui--color-main);color:#fff;border-color:var(--bim-ui--color-main)}.rfi-delete-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.rfi-dialog{border:none;border-radius:12px;padding:0;max-width:520px;width:90vw;background:var(--bim-ui--bg-base, #1a1a2e);color:var(--bim-ui--bg-contrast-80);box-shadow:0 20px 60px #00000080}.rfi-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.rfi-dialog-content{display:flex;flex-direction:column;max-height:85vh}.rfi-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--bim-ui--bg-contrast-20)}.rfi-dialog-header h3{margin:0;font-size:16px;font-weight:600}.rfi-dialog-close{background:transparent;border:none;color:var(--bim-ui--bg-contrast-60);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px}.rfi-dialog-close:hover{background:var(--bim-ui--bg-contrast-20)}.rfi-dialog-body{padding:16px 20px;overflow-y:auto;flex:1}.rfi-element-info{background:var(--bim-ui--bg-contrast-10);border-radius:8px;padding:12px;margin-bottom:16px}.rfi-element-info-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--bim-ui--bg-contrast-40);margin-bottom:8px}.rfi-element-grid{display:grid;gap:4px}.rfi-element-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:3px 0}.rfi-label{color:var(--bim-ui--bg-contrast-40);min-width:60px}.rfi-value{color:var(--bim-ui--bg-contrast-80);text-align:right;display:flex;align-items:center;gap:4px}.rfi-screenshot-container{margin-top:8px}.rfi-screenshot{width:100%;border-radius:4px;border:1px solid var(--bim-ui--bg-contrast-20)}.rfi-form{display:flex;flex-direction:column;gap:12px}.rfi-field label{display:block;font-size:11px;font-weight:500;color:var(--bim-ui--bg-contrast-60);margin-bottom:4px}.rfi-field label .required{color:#ef4444}.rfi-field input[type=text],.rfi-field input[type=date],.rfi-field textarea,.rfi-field select{width:100%;padding:8px 10px;border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;background:var(--bim-ui--bg-contrast-10);color:var(--bim-ui--bg-contrast-80);font-size:12px;outline:none;transition:border-color .15s ease;box-sizing:border-box}.rfi-field input:focus,.rfi-field textarea:focus,.rfi-field select:focus{border-color:var(--bim-ui--color-main)}.rfi-field textarea{resize:vertical;min-height:60px}.rfi-field-row{display:flex;gap:12px}.rfi-field-row .rfi-field{flex:1}.rfi-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.rfi-btn{padding:8px 20px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:background .15s ease,opacity .15s ease}.rfi-btn-cancel{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-80)}.rfi-btn-cancel:hover{background:var(--bim-ui--bg-contrast-30)}.rfi-btn-submit{background:var(--bim-ui--color-main);color:#fff}.rfi-btn-submit:hover{opacity:.85}.bim-button-label{display:contents;cursor:pointer}.spatial-tree{padding:8px}.spatial-tree-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--bim-ui--bg-contrast-20);margin-bottom:8px}.spatial-tree-title{font-size:12px;font-weight:600;color:var(--bim-ui--bg-contrast-80)}.spatial-tree-refresh{background:transparent;border:none;cursor:pointer;font-size:14px;padding:4px;border-radius:4px;transition:background .15s ease}.spatial-tree-refresh:hover{background:var(--bim-ui--bg-contrast-20)}.spatial-tree-content{max-height:400px;overflow-y:auto}.spatial-tree-content .loading{text-align:center;padding:16px;color:var(--bim-ui--color-main);font-size:12px}.tree-root{list-style:none;padding:0;margin:0}.tree-node{margin:0;padding:0}.tree-node-content{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;border-radius:4px;transition:background .15s ease;font-size:12px}.tree-node-content:hover{background:var(--bim-ui--bg-contrast-20)}.tree-node-content.selected{background:var(--bim-ui--color-main);color:#fff}.tree-expand{width:12px;text-align:center;font-size:8px;color:var(--bim-ui--bg-contrast-60);user-select:none;cursor:pointer}.tree-node.expandable .tree-expand:hover{color:var(--bim-ui--color-main)}.tree-icon{font-size:14px}.tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-type{font-size:10px;color:var(--bim-ui--bg-contrast-60);background:var(--bim-ui--bg-contrast-20);padding:2px 6px;border-radius:4px}.tree-node-content.selected .tree-type{background:#fff3;color:#fff}.tree-children{list-style:none;padding:0;margin:0}.tree-children.collapsed{display:none}.property-sets-panel{padding:8px}.property-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}.property-tab{flex:1;min-width:60px;padding:8px 6px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-80);font-size:10px;font-family:inherit;cursor:pointer;transition:all .15s ease;text-align:center;white-space:nowrap}.property-tab:hover{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.property-tab.active{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main);color:#fff}.property-content{max-height:500px;overflow-y:auto}.property-content .loading{text-align:center;padding:16px;color:var(--bim-ui--color-main);font-size:12px}.property-section{margin-bottom:12px}.property-section h4{font-size:12px;font-weight:600;color:var(--bim-ui--bg-contrast-80);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--bim-ui--bg-contrast-20)}.psets-list{display:flex;flex-direction:column;gap:8px}.pset-group{background:var(--bim-ui--bg-contrast-10);border-radius:6px;overflow:hidden}.pset-group.collapsed .pset-properties{display:none}.pset-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .15s ease}.pset-header:hover{background:var(--bim-ui--bg-contrast-20)}.pset-icon{font-size:14px}.pset-name{font-size:12px;font-weight:600;color:var(--bim-ui--bg-contrast-100)}.pset-properties{padding:0 12px 12px}.prop-list{list-style:none;padding:0;margin:0}.prop-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--bim-ui--bg-contrast-20);font-size:11px}.prop-list li:last-child{border-bottom:none}.prop-list .prop-key{color:var(--bim-ui--bg-contrast-60);flex-shrink:0;margin-right:8px}.prop-list .prop-value{color:var(--bim-ui--bg-contrast-100);text-align:right;word-break:break-word}.materials-list{display:flex;flex-direction:column;gap:8px}.material-item{background:var(--bim-ui--bg-contrast-10);border-radius:6px;padding:12px}.material-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.material-icon{font-size:16px}.material-name{font-size:13px;font-weight:600;color:var(--bim-ui--bg-contrast-100)}.material-properties{padding-top:8px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.quantities-list{padding:4px}.quantities-table{width:100%;border-collapse:collapse;font-size:12px}.quantities-table thead{background:var(--bim-ui--bg-contrast-20)}.quantities-table th{padding:8px;text-align:left;font-weight:600;color:var(--bim-ui--bg-contrast-80);font-size:11px}.quantities-table td{padding:8px;border-bottom:1px solid var(--bim-ui--bg-contrast-20)}.quantities-table tr:hover{background:var(--bim-ui--bg-contrast-10)}.qty-name{color:var(--bim-ui--bg-contrast-80)}.qty-value{font-weight:600;color:var(--bim-ui--bg-contrast-100);font-family:Monaco,Menlo,monospace}.qty-unit{color:var(--bim-ui--bg-contrast-60);font-size:11px}.storey-selector{padding:8px}.storey-tabs{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.storey-tab{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;cursor:pointer;transition:all .15s ease;font-family:inherit;color:var(--bim-ui--bg-contrast-100)}.storey-tab:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--bim-ui--bg-contrast-40)}.storey-tab.active{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main);color:#fff}.storey-tab-name{font-size:12px;font-weight:500}.storey-tab-elevation{font-size:10px;color:var(--bim-ui--bg-contrast-60);background:var(--bim-ui--bg-contrast-20);padding:2px 6px;border-radius:4px}.storey-tab.active .storey-tab-elevation{background:#fff3;color:#fff}.storey-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.btn-show-all-storeys{width:100%;padding:10px;background:var(--bim-ui--bg-contrast-20);border:1px solid var(--bim-ui--bg-contrast-40);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:12px;cursor:pointer;transition:all .15s ease}.btn-show-all-storeys:hover:not(:disabled){background:var(--bim-ui--bg-contrast-40)}.btn-show-all-storeys:disabled{opacity:.5;cursor:not-allowed}.element-type-filter{padding:8px}.filter-actions{display:flex;gap:8px;margin-bottom:12px}.filter-actions button{flex:1;padding:8px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:11px;cursor:pointer;transition:all .15s ease}.filter-actions button:hover:not(:disabled){background:var(--bim-ui--bg-contrast-20)}.filter-actions button:disabled{opacity:.5;cursor:not-allowed}.filter-list{display:flex;flex-direction:column;gap:4px;max-height:350px;overflow-y:auto}.filter-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bim-ui--bg-contrast-10);border-radius:6px;cursor:pointer;transition:background .15s ease;font-size:12px}.filter-item:hover{background:var(--bim-ui--bg-contrast-20)}.filter-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--bim-ui--color-main)}.filter-item-icon{font-size:14px}.filter-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-item-count{font-size:10px;color:var(--bim-ui--bg-contrast-60);background:var(--bim-ui--bg-contrast-20);padding:2px 6px;border-radius:4px}.property-search{padding:8px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;font-size:14px;color:var(--bim-ui--bg-contrast-60);pointer-events:none}.search-input{width:100%;padding:10px 36px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:12px;transition:border-color .15s ease}.search-input:focus{outline:none;border-color:var(--bim-ui--color-main)}.search-input::placeholder{color:var(--bim-ui--bg-contrast-60)}.search-clear{position:absolute;right:8px;background:transparent;border:none;color:var(--bim-ui--bg-contrast-60);cursor:pointer;font-size:14px;padding:4px;border-radius:4px;transition:all .15s ease}.search-clear:hover{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.search-status{text-align:center;padding:12px;color:var(--bim-ui--color-main);font-size:12px}.search-result-count{font-size:11px;color:var(--bim-ui--bg-contrast-60);padding:8px 0;border-bottom:1px solid var(--bim-ui--bg-contrast-20);margin-bottom:8px}.search-results{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.search-result-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bim-ui--bg-contrast-10);border-radius:6px;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent}.search-result-item:hover{background:var(--bim-ui--bg-contrast-20)}.search-result-item.selected{background:var(--bim-ui--bg-contrast-20);border-left-color:var(--bim-ui--color-main)}.search-result-name{font-size:12px;font-weight:500;color:var(--bim-ui--bg-contrast-100)}.search-result-type{font-size:10px;color:var(--bim-ui--color-main);background:#6c63ff26;padding:2px 6px;border-radius:4px;display:inline-block;margin-right:auto}.search-result-match{font-size:11px;color:var(--bim-ui--bg-contrast-60)}.search-result-match strong{color:var(--bim-ui--color-warning)}.search-no-results,.search-hint{text-align:center;padding:16px;color:var(--bim-ui--bg-contrast-60);font-size:12px}.search-more{text-align:center;padding:8px;color:var(--bim-ui--bg-contrast-60);font-size:11px;font-style:italic}.statistics-dashboard{padding:8px}.stats-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.stat-card{background:var(--bim-ui--bg-contrast-10);border-radius:8px;padding:12px;text-align:center}.stat-card-value{font-size:20px;font-weight:700;color:var(--bim-ui--color-main);margin-bottom:4px}.stat-card-label{font-size:10px;color:var(--bim-ui--bg-contrast-60);text-transform:uppercase;letter-spacing:.5px}.stats-breakdown{background:var(--bim-ui--bg-contrast-10);border-radius:8px;padding:12px}.stats-breakdown h4{font-size:12px;font-weight:600;color:var(--bim-ui--bg-contrast-80);margin-bottom:12px}.breakdown-item{display:flex;align-items:center;gap:8px;padding:6px 0}.breakdown-icon{font-size:14px}.breakdown-label{flex:1;font-size:12px;color:var(--bim-ui--bg-contrast-100);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-count{font-size:11px;font-weight:600;color:var(--bim-ui--bg-contrast-100);min-width:40px;text-align:right}.breakdown-percentage{font-size:10px;color:var(--bim-ui--bg-contrast-60);min-width:40px;text-align:right}.breakdown-bar{height:4px;background:var(--bim-ui--bg-contrast-20);border-radius:2px;margin-bottom:8px;overflow:hidden}.breakdown-bar-fill{height:100%;background:var(--bim-ui--color-main);border-radius:2px;transition:width .3s ease}.stats-more{text-align:center;padding:8px 0;color:var(--bim-ui--bg-contrast-60);font-size:11px;font-style:italic}.ar-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;display:flex;flex-direction:column;justify-content:space-between;padding:20px;font-family:var(--bim-ui--ff-base);background:transparent}.ar-overlay.hidden,.ar-brightness-controls.hidden{display:none}.ar-scale-controls{display:flex;justify-content:center;gap:12px;pointer-events:auto;padding-top:env(safe-area-inset-top,20px)}.ar-scale-btn{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px;min-height:56px;padding:12px 16px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;will-change:transform;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-scale-btn iconify-icon{font-size:24px;flex-shrink:0}.ar-scale-btn:hover{background:#000000d9;border-color:#fff6;transform:scale(1.05)}.ar-scale-btn.active{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main);box-shadow:0 0 20px #58a6ff80}.ar-scale-btn:active{transform:scale(.95)}.ar-scale-btn span{display:block;font-size:13px;font-weight:700}.ar-scale-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto;padding-top:env(safe-area-inset-top,12px)}.ar-scale-label{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#fffffff2;padding:4px 10px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:10px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.ar-scale-label #ar-scale-current{color:#58a6ff;font-weight:800}.ar-rotate-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px auto;padding:8px 12px;background:#000000c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:16px;pointer-events:auto;width:fit-content}.ar-rotate-controls.hidden{display:none}.ar-rotate-btn{min-width:64px;min-height:48px;padding:10px 16px;background:#ffffff14;border:1.5px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;text-shadow:0 1px 3px rgba(0,0,0,.6)}.ar-rotate-btn:active{background:#58a6ff;border-color:#58a6ff;transform:scale(.94)}.ar-rotate-label{font-size:11px;font-weight:600;letter-spacing:.4px;color:#ffffffd9;text-transform:uppercase;padding:0 4px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.ar-brightness-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px;padding:12px 20px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:24px;pointer-events:auto}.ar-brightness-btn{min-width:56px;min-height:56px;padding:12px 16px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:14px;cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;will-change:transform}.ar-brightness-btn iconify-icon{font-size:20px}.ar-brightness-btn:hover{background:#fff3;border-color:#ffffff80}.ar-brightness-btn.active{background:#ffc1074d;border-color:#ffc107;color:#ffc107;box-shadow:0 0 12px #ffc10766}.ar-brightness-btn:active{transform:scale(.95)}.ar-brightness-label{color:#fff;font-size:14px;font-weight:600;min-width:50px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-measure-controls{display:flex;justify-content:center;gap:12px;margin-top:12px;pointer-events:auto}.ar-measure-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-width:56px;min-height:56px;padding:12px 20px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2);border-radius:25px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;will-change:transform;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-measure-btn iconify-icon{font-size:20px;flex-shrink:0}.ar-measure-btn:hover{background:#000000d9;border-color:#fff6}.ar-measure-btn.active{background:#00ffff4d;border-color:#0ff;color:#0ff;box-shadow:0 0 15px #0ff6}.ar-measure-btn:active{transform:scale(.95)}.ar-measure-btn.hidden{display:none}.ar-measure-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#0ff3;border:2px solid rgba(0,255,255,.4);border-radius:25px;color:#0ff;font-size:13px;text-align:center;pointer-events:none;margin:8px auto 0;animation:ar-measure-hint-pulse 1.5s ease-in-out infinite;text-shadow:0 1px 3px rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ar-measure-hint iconify-icon{font-size:18px;flex-shrink:0}.ar-measure-hint.hidden{display:none}@keyframes ar-measure-hint-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.ar-measure-result{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#00ff6433;border:2px solid rgba(0,255,100,.5);border-radius:25px;color:#00ff64;font-size:14px;font-weight:600;pointer-events:none;margin:8px auto 0;animation:ar-result-appear .3s cubic-bezier(.16,1,.3,1);text-shadow:0 1px 3px rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ar-measure-result iconify-icon{font-size:18px;flex-shrink:0}.ar-measure-result.hidden{display:none}@keyframes ar-result-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.ar-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:30px;color:#fff;font-size:14px;text-align:center;pointer-events:none;margin:auto;animation:ar-hint-pulse 2s ease-in-out infinite;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-hint iconify-icon{font-size:20px;color:var(--bim-ui--color-main);flex-shrink:0}@keyframes ar-hint-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.ar-hint.hidden{display:none}.ar-placement-hint{display:flex;align-items:center;justify-content:center;gap:10px;background:#000000bf;color:#fff;padding:14px 28px;border-radius:24px;font-size:16px;font-weight:600;text-align:center;pointer-events:none;margin:auto;border:2px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-placement-hint iconify-icon{font-size:22px;flex-shrink:0}.ar-placement-hint.scanning{border-color:#58a6ff;animation:ar-placement-scanning 1.5s ease-in-out infinite}.ar-placement-hint.found{border-color:#00ff64;background:#00ff6426;animation:none}@keyframes ar-placement-scanning{0%,to{border-color:#58a6ff;box-shadow:0 0 12px #58a6ff4d}50%{border-color:#58a6ff;box-shadow:0 0 20px #58a6ff99}}.ar-placement-hint.hidden{display:none}.ar-version-tag{position:fixed;bottom:8px;left:8px;font-size:10px;color:#ffffff59;pointer-events:none}.ar-actions{display:flex;justify-content:center;gap:12px;pointer-events:auto;padding-bottom:env(safe-area-inset-bottom,20px);flex-wrap:wrap}.ar-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-width:56px;min-height:56px;padding:14px 28px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.2);border-radius:30px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;will-change:transform;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-action-btn iconify-icon{font-size:18px;flex-shrink:0}.ar-action-btn:hover{background:#000000d9;border-color:#fff6}.ar-action-btn:active{transform:scale(.95)}.ar-action-btn.hidden{display:none}#ar-exit-btn:hover{background:var(--bim-ui--color-accent);border-color:var(--bim-ui--color-accent)}#ar-reset-btn:hover{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main)}.ar-touch-hint{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:32px;color:#fff;font-size:16px;text-align:center;pointer-events:none;margin:auto;animation:ar-hint-pulse 2s ease-in-out infinite;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-touch-hint iconify-icon{font-size:24px;color:var(--bim-ui--color-main);flex-shrink:0}.ar-touch-hint.hidden{display:none}.ar-gesture-hints{display:flex;justify-content:center;gap:20px;padding:14px 24px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;margin:12px auto;max-width:fit-content;pointer-events:none;animation:ar-gesture-hints-fadein .5s cubic-bezier(.16,1,.3,1);text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-gesture-hints.hidden{display:none}@keyframes ar-gesture-hints-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ar-gesture-hint{display:flex;align-items:center;gap:8px;color:#ffffffd9;font-size:14px}.ar-gesture-hint iconify-icon{font-size:20px;color:#ffffffb3;flex-shrink:0}.ar-overlay.ar-touch-mode .ar-scale-btn{padding:16px 24px;min-width:72px;min-height:72px;font-size:16px}.ar-overlay.ar-touch-mode .ar-scale-btn iconify-icon{font-size:28px}.ar-overlay.ar-touch-mode .ar-scale-btn span{font-size:14px}.ar-overlay.ar-touch-mode .ar-measure-btn{padding:14px 22px;min-width:72px;min-height:72px;font-size:16px}.ar-overlay.ar-touch-mode .ar-measure-btn iconify-icon{font-size:22px}.ar-overlay.ar-touch-mode .ar-action-btn{padding:18px 28px;min-width:72px;min-height:72px;font-size:16px}.ar-overlay.ar-touch-mode .ar-action-btn iconify-icon{font-size:22px}.ar-overlay.model-placed .ar-gesture-hints{opacity:.5;transition:opacity .3s cubic-bezier(.16,1,.3,1)}body.xr-active .ar-overlay{font-size:16px;line-height:1.5}body.xr-active .ar-scale-btn,body.xr-active .ar-brightness-btn,body.xr-active .ar-measure-btn,body.xr-active .ar-action-btn{font-size:16px;min-height:64px}body.xr-active .ar-placement-hint,body.xr-active .ar-hint,body.xr-active .ar-touch-hint{font-size:18px;line-height:1.6}.floating-xr-buttons{position:fixed;bottom:max(80px,calc(env(safe-area-inset-bottom,0px) + 80px));right:max(24px,calc(env(safe-area-inset-right,0px) + 24px));display:none;flex-direction:column;gap:20px;z-index:99999;pointer-events:auto}.floating-xr-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:80px;padding:12px;background:linear-gradient(135deg,#58a6fff2,#a371f7f2);border:3px solid rgba(255,255,255,.5);border-radius:40px;color:#fff;cursor:pointer;box-shadow:0 6px 30px #58a6ff80,0 10px 40px #0006,inset 0 1px #fff3;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:transform}.floating-xr-btn:hover{transform:scale(1.08);box-shadow:0 8px 36px #58a6ff99,0 14px 50px #00000080}.floating-xr-btn:active{transform:scale(.95)}.floating-xr-btn iconify-icon{font-size:36px}.floating-xr-btn span{font-size:13px;font-weight:700;margin-top:4px;text-transform:uppercase;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.3)}#floating-vr-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}#floating-ar-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}body.xr-active .floating-xr-buttons{display:none!important}body.xr-active #loading-overlay{display:none!important;visibility:hidden!important;pointer-events:none!important}body.xr-active .loading-stage-dot,body.xr-active .loading-stage-connector,body.xr-active .loading-spinner{display:none!important;animation:none!important}body.xr-active bim-toolbars-container,body.xr-active nav#icon-sidebar,body.xr-active #slide-panels,body.xr-active #panel-overlay,body.xr-active #properties-overlay,body.xr-active #selection-context-bar,body.xr-active #status-bar,body.xr-active #shortcuts-modal{display:none!important}body.xr-active #app *{animation-play-state:paused!important}.ar-phone-overlay{position:fixed;inset:0;pointer-events:none;z-index:1000;display:flex;flex-direction:column;justify-content:space-between;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ar-phone-overlay>*{pointer-events:auto}.ar-phone-topbar{display:flex;align-items:center;gap:8px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ar-phone-title{flex:1;font-size:16px;font-weight:700;color:#fff}.ar-phone-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;touch-action:manipulation}.ar-phone-btn:active{background:#ffffff4d}.ar-entry-modes{position:absolute;bottom:80px;left:16px;right:16px;display:flex;flex-direction:column;gap:10px}.ar-entry-title{font-size:14px;font-weight:600;color:#fffc;text-align:center;margin-bottom:4px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.ar-entry-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#0009;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:14px;color:#fff;cursor:pointer;touch-action:manipulation}.ar-entry-btn:active{background:#3b82f666;border-color:#3b82f699}.ar-entry-icon{font-size:24px;flex-shrink:0}.ar-entry-label{font-size:15px;font-weight:700}.ar-entry-desc{font-size:12px;color:#fff9;display:block}.ar-entry-modes.hidden{display:none}.ar-phone-search{position:absolute;bottom:60px;left:16px;right:16px;display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;background:#0009;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:14px}.ar-phone-search.hidden{display:none}.ar-search-icon{flex-shrink:0;color:#ffffff80}.ar-search-input{flex:1;height:100%;background:none;border:none;outline:none;color:#fff;font-size:15px}.ar-search-input::placeholder{color:#fff6}.ar-search-results{position:absolute;bottom:116px;left:16px;right:16px;max-height:240px;overflow-y:auto;background:#000000bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:6px 0}.ar-search-results.hidden{display:none}.ar-search-row{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer}.ar-search-row:active{background:#3b82f64d}.ar-search-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ar-search-dot.done{background:#22c55e}.ar-search-dot.pending{background:#f59e0b}.ar-search-dot.blocked{background:#ef4444}.ar-search-dot.not-started{background:#6e6e78}.ar-search-mark{font-family:SF Mono,Fira Code,monospace;font-size:14px;font-weight:600;color:#fff}.ar-search-empty{padding:16px;text-align:center;color:#ffffff80;font-size:14px}.ar-assembly-card{position:absolute;bottom:60px;left:16px;right:16px;background:#000000bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:16px;color:#fff}.ar-assembly-card.hidden{display:none}.ar-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ar-card-mark{font-family:SF Mono,Fira Code,monospace;font-size:18px;font-weight:800;color:#fff}.ar-card-type{font-size:11px;font-weight:700;padding:2px 6px;background:#ffffff26;border-radius:4px;color:#fffc}.ar-card-status{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}.ar-card-status.done{background:#22c55e40;color:#22c55e}.ar-card-status.pending{background:#f59e0b40;color:#f59e0b}.ar-card-status.blocked{background:#ef444440;color:#ef4444}.ar-card-status.not-started{background:#6e6e7840;color:#9ca3af}.ar-card-details{font-size:13px;color:#ffffffb3;margin-bottom:4px}.ar-card-location{font-size:12px;color:#ffffff80;margin-bottom:12px}.ar-card-actions{display:flex;gap:10px}.ar-card-btn{flex:1;height:44px;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;touch-action:manipulation}.ar-card-btn-install{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#22c55e}.ar-card-btn-install:active{background:#22c55e66}.ar-card-btn-done{background:#22c55e1a;color:#22c55e80}.ar-card-btn-details{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fffc}.ar-card-btn-details:active{background:#fff3}.ar-phone-progress{position:relative;height:28px;background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.ar-progress-fill{position:absolute;top:0;left:0;height:100%;background:#22c55e4d;transition:width .4s ease-out}.ar-progress-text{position:relative;display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;font-weight:700;color:#fffc;font-family:SF Mono,Fira Code,monospace}.installer-overlay{position:fixed;inset:0;z-index:900;pointer-events:none;opacity:0;transition:opacity .3s ease-out;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.installer-overlay.active{opacity:1;pointer-events:none}.installer-3d-viewport{position:fixed;inset:0;pointer-events:none;z-index:901}.installer-overlay *::-webkit-scrollbar{width:6px;height:6px}.installer-overlay *::-webkit-scrollbar-track{background:transparent}.installer-overlay *::-webkit-scrollbar-thumb{background:#3b82f640;border-radius:3px}.installer-overlay *::-webkit-scrollbar-thumb:hover{background:#3b82f673}.installer-overlay *{scrollbar-width:thin;scrollbar-color:rgba(59,130,246,.25) transparent}.installer-search-bar{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:920;display:flex;align-items:center;gap:8px;width:100%;max-width:500px;padding:4px 4px 4px 16px;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-pill);box-shadow:var(--df-shadow-float);transition:box-shadow .2s ease-out;pointer-events:auto}.installer-search-bar:focus-within{box-shadow:var(--df-shadow-float),0 0 0 2px var(--df-accent),0 0 16px var(--df-accent-glow)}.installer-search-bar .search-icon{font-size:20px;color:var(--df-text-muted);flex-shrink:0;line-height:1}.installer-search-bar .search-input{flex:1;height:48px;padding:0 8px;font-size:18px;font-family:var(--df-ff-base);font-weight:500;color:var(--df-text-primary);background:transparent;border:none;outline:none;min-width:0}.installer-search-bar .search-input::placeholder{color:var(--df-text-muted);font-weight:400}.installer-search-bar .search-clear-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--df-text-muted);font-size:18px;cursor:pointer;border-radius:var(--df-radius-pill);transition:background .2s ease-out,color .2s ease-out;flex-shrink:0;touch-action:manipulation}.installer-search-bar .search-clear-btn:hover{background:var(--df-bg-wash);color:var(--df-text-primary)}.installer-search-bar .exit-installer-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ef44441f;border:1px solid rgba(239,68,68,.2);color:var(--df-status-blocked);font-size:18px;cursor:pointer;border-radius:var(--df-radius-pill);transition:background .2s ease-out;flex-shrink:0;touch-action:manipulation}.installer-search-bar .exit-installer-btn:hover{background:#ef444438}.installer-search-results{position:fixed;top:78px;left:50%;transform:translate(-50%);width:480px;max-width:calc(100vw - 40px);max-height:384px;overflow-y:auto;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-deep);z-index:925;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;pointer-events:auto}.installer-search-results:empty{display:none}.installer-search-results .results-header{padding:10px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--df-text-muted);border-bottom:1px solid var(--df-border)}.installer-search-results .result-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s ease-out;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.installer-search-results .result-item:hover{background:var(--df-bg-wash)}.installer-search-results .result-item.highlighted{background:var(--df-accent-glow)}.installer-search-results .result-item:last-child{border-bottom:none}.result-item .result-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.result-item .result-status-dot.done{background:var(--df-status-done)}.result-item .result-status-dot.pending{background:var(--df-status-pending)}.result-item .result-status-dot.blocked{background:var(--df-status-blocked)}.result-item .result-status-dot.not_started{background:var(--df-status-idle)}.result-item .result-info{flex:1;min-width:0}.result-item .result-assembly-no{font-size:15px;font-weight:700;color:var(--df-text-primary);font-family:var(--df-ff-mono)}.result-item .result-description{font-size:12px;color:var(--df-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-item .result-wbs{font-size:11px;color:var(--df-text-muted);font-family:var(--df-ff-mono)}.result-item .result-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:var(--df-radius-sm);background:var(--df-bg-wash);color:var(--df-text-secondary);flex-shrink:0;white-space:nowrap}.recent-searches-section{padding:12px 16px}.recent-searches-section .recent-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--df-text-muted);margin-bottom:8px}.recent-search-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:var(--df-radius-sm);font-size:14px;color:var(--df-text-secondary);transition:background .2s ease-out;min-height:40px;touch-action:manipulation}.recent-search-item:hover{background:var(--df-bg-wash);color:var(--df-text-primary)}.recent-search-item .recent-icon{color:var(--df-text-muted);font-size:14px}.installer-no-results{padding:24px 20px;text-align:center}.installer-no-results .no-results-icon{font-size:32px;margin-bottom:8px;opacity:.4}.installer-no-results .no-results-text{font-size:14px;color:var(--df-text-muted)}.installer-list-panel{position:fixed;top:16px;left:16px;bottom:auto;width:340px;max-height:calc(100vh - 32px);background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-float);z-index:910;display:flex;flex-direction:column;transform:translate(calc(-100% - 32px));transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden;pointer-events:auto}.installer-list-panel.open{transform:translate(0)}.installer-list-toggle{position:fixed;top:16px;left:16px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-md);color:var(--df-text-secondary);cursor:pointer;z-index:915;box-shadow:var(--df-shadow-float);transition:background .2s ease-out,color .2s ease-out;touch-action:manipulation;pointer-events:auto}.installer-list-toggle:hover{background:var(--df-bg-elevated);color:var(--df-text-primary)}.installer-list-toggle.hidden{display:none}.alp-progress-header{padding:10px 16px;border-bottom:1px solid var(--df-border);flex-shrink:0}.alp-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--df-border);flex-shrink:0}.alp-title{font-size:14px;font-weight:700;color:var(--df-text-primary);text-transform:uppercase;letter-spacing:.05em}.alp-progress-compact{display:flex;flex-direction:column;gap:6px}.alp-progress-info{display:flex;align-items:baseline;justify-content:space-between}.alp-progress-count{font-family:var(--df-ff-mono);font-size:14px;font-weight:700;color:var(--df-text-primary)}.alp-progress-pct{font-family:var(--df-ff-mono);font-size:14px;font-weight:700;color:var(--df-status-done)}.alp-progress-track{width:100%;height:6px;background:var(--df-border);border-radius:3px;overflow:hidden}.alp-progress-fill{height:100%;background:var(--df-status-done);border-radius:3px;transition:width .4s ease-out}.alp-tabs{display:flex;gap:2px;padding:6px 12px;border-bottom:1px solid var(--df-border);flex-shrink:0}.alp-tab{flex:1;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--df-text-muted);font-size:12px;font-weight:600;font-family:var(--df-ff-base);cursor:pointer;transition:all .2s ease-out;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.alp-tab:hover{background:var(--df-bg-wash);color:var(--df-text-secondary)}.alp-tab.active{background:var(--df-accent-glow);color:var(--df-accent-hover);font-weight:700}.alp-tab-count{font-family:var(--df-ff-mono);font-size:10px;font-weight:700;opacity:.7;margin-left:2px}.alp-tab.active .alp-tab-count{opacity:1}.alp-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--df-border);border-radius:var(--df-radius-sm);color:var(--df-text-muted);cursor:pointer;flex-shrink:0;transition:all .2s ease-out;touch-action:manipulation}.alp-close-btn:hover{background:#ef44441a;color:var(--df-status-blocked);border-color:#ef444433}.alp-search-row{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--df-border);flex-shrink:0}.alp-search-icon{flex-shrink:0;color:var(--df-text-muted);font-size:16px}.alp-search-input{flex:1;height:36px;background:none;border:none;outline:none;color:var(--df-text-primary);font-size:14px;font-family:var(--df-ff-base);padding:0}.alp-search-input::placeholder{color:var(--df-text-muted)}.alp-search-hero{padding:10px 16px}.alp-search-hero .alp-search-input{height:44px;font-size:15px;font-weight:500}.alp-search-clear{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--df-text-muted);cursor:pointer;flex-shrink:0;transition:all .15s ease-out}.alp-search-clear:hover{background:var(--df-bg-wash);color:var(--df-text-primary)}.alp-search-clear.hidden{display:none}.alp-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}.alp-count{padding:8px 16px 4px;font-size:11px;font-weight:600;color:var(--df-text-muted);text-transform:uppercase;letter-spacing:.05em}.alp-empty{padding:32px 16px;text-align:center;color:var(--df-text-muted);font-size:14px}.alp-row{display:flex;align-items:center;gap:12px;padding:8px 16px;height:44px;cursor:pointer;transition:background .2s ease-out;border-left:2px solid transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.alp-row:hover{background:var(--df-bg-wash)}.alp-row.active{background:var(--df-accent-glow);border-left-color:var(--df-accent)}.alp-row.is-done{opacity:.55}.alp-row.is-done.active{opacity:1}.alp-row.alp-row-installed{animation:rowInstalledFlash .4s ease-out}@keyframes rowInstalledFlash{0%{background:#22c55e4d}to{background:transparent}}.alp-row-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.alp-row-dot.done{background:var(--df-status-done)}.alp-row-dot.pending{background:var(--df-status-pending)}.alp-row-dot.blocked{background:var(--df-status-blocked)}.alp-row-dot.not-started{background:var(--df-status-idle, #6e6e78)}.alp-row-mark{font-family:var(--df-ff-mono);font-size:14px;font-weight:600;color:var(--df-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alp-row-content{flex:1;min-width:0}.alp-row-tag{font-family:var(--df-ff-mono);font-size:14px;font-weight:700;color:var(--df-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alp-row-secondary{display:flex;align-items:center;gap:6px;margin-top:2px}.alp-row-profile{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--df-accent);letter-spacing:.03em}.alp-row-actions{flex-shrink:0;display:flex;align-items:center}.alp-done-check{color:var(--df-status-done)}.alp-install-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#22c55e1f;border:1px solid rgba(34,197,94,.25);border-radius:8px;color:var(--df-status-done);cursor:pointer;transition:all .2s ease-out;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.alp-install-btn:hover{background:#22c55e40;border-color:#22c55e66}.alp-install-btn:active{transform:scale(.92)}.alp-empty{padding:40px 16px;text-align:center;color:var(--df-text-muted);font-size:14px}.alp-empty-icon{margin-bottom:12px;opacity:.35}.alp-row-type-badge,.alp-row-grid-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;background:#ffffff1a;color:var(--df-text-secondary);border:1px solid rgba(255,255,255,.08);white-space:nowrap;flex-shrink:0}.alp-row-primary{display:flex;align-items:center;gap:8px}.alp-row-secondary{display:flex;align-items:center;gap:8px;margin-top:2px}.alp-row-profile{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--df-accent);letter-spacing:.04em}.alp-row-material{font-size:11px;font-weight:500;color:var(--df-text-muted)}.alp-row-status-badge{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--df-radius-sm);white-space:nowrap;display:flex;align-items:center;justify-content:center}.alp-row-status-badge.done{color:var(--df-status-done);background:#22c55e1f}.alp-row-status-badge.pending{color:var(--df-status-pending);background:#f59e0b1f}.alp-row-status-badge.blocked{color:var(--df-status-blocked);background:#ef44441f}.alp-row-status-badge.not-started{color:var(--df-text-muted);background:#52525b33}.alp-row-status-badge svg{width:14px;height:14px}.alp-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--df-border);flex-shrink:0}.alp-footer-nav{display:flex;gap:4px}.alp-footer-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--df-border);border-radius:var(--df-radius-sm);color:var(--df-text-secondary);cursor:pointer;transition:all .2s ease-out;touch-action:manipulation}.alp-footer-btn:hover{background:var(--df-bg-wash);color:var(--df-text-primary);border-color:var(--df-border-hover)}.alp-footer-btn:disabled{opacity:.3;cursor:not-allowed}.alp-status-filter{height:32px;padding:0 10px;font-size:12px;font-family:var(--df-ff-base);color:var(--df-text-secondary);background:transparent;border:1px solid var(--df-border);border-radius:var(--df-radius-sm);outline:none;cursor:pointer;transition:border-color .2s ease-out;-webkit-appearance:none;appearance:none}.alp-status-filter:hover{border-color:var(--df-border-hover)}.installer-quick-widget{position:fixed;bottom:16px;left:50%;transform:translate(-50%) translateY(100px);z-index:915;width:calc(100% - 32px);max-width:480px;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-deep);padding:16px 20px;opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.installer-quick-widget.visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.quick-widget-info{margin-bottom:14px}.quick-widget-name{font-family:var(--df-ff-mono);font-size:20px;font-weight:700;color:var(--df-text-primary);margin-bottom:4px}.quick-widget-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick-widget-type-badge,.qiw-type-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:var(--df-radius-sm);background:var(--df-accent-glow);color:var(--df-accent-hover)}.quick-widget-grid-badge,.qiw-grid-ref{font-size:11px;font-weight:600;color:var(--df-text-muted);font-family:var(--df-ff-mono)}.quick-widget-progress{font-size:12px;color:var(--df-text-secondary)}.quick-widget-actions{display:flex;align-items:center;gap:10px}.quick-widget-install-btn{flex:1;height:52px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--df-status-done);color:#09090b;font-size:15px;font-weight:700;font-family:var(--df-ff-base);border:none;border-radius:var(--df-radius-md);cursor:pointer;transition:all .2s ease-out;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.quick-widget-install-btn:hover:not(:disabled){filter:brightness(1.1)}.quick-widget-install-btn:active:not(:disabled){transform:scale(.97)}.quick-widget-install-btn.completed{background:#22c55e26;color:var(--df-status-done);cursor:default}.quick-widget-icon-btn{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--df-bg-wash);border:1px solid var(--df-border);border-radius:var(--df-radius-md);color:var(--df-text-secondary);font-size:20px;cursor:pointer;flex-shrink:0;transition:all .2s ease-out;touch-action:manipulation}.quick-widget-icon-btn:hover{background:var(--df-bg-elevated);color:var(--df-text-primary);border-color:var(--df-border-hover)}@keyframes installSuccessGlow{0%{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 24px 8px #22c55e40}to{box-shadow:0 0 #22c55e00}}.quick-widget-install-btn.success-flash{animation:installSuccessGlow .4s ease-out}.qiw-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.qiw-left{flex:1;min-width:0}.qiw-assembly-no{font-family:var(--df-ff-mono);font-size:22px;font-weight:700;color:var(--df-text-primary);line-height:1.2}.qiw-meta{display:flex;gap:8px;align-items:center;margin-top:4px;flex-wrap:wrap}.qiw-profile{font-size:12px;font-weight:600;color:var(--df-accent);text-transform:uppercase;letter-spacing:.03em}.qiw-material{font-size:12px;font-weight:500;color:var(--df-text-muted)}.qiw-grid-line{font-size:11px;color:var(--df-text-muted);font-family:var(--df-ff-mono);margin-top:2px}.qiw-status{font-size:11px;font-weight:600;text-transform:uppercase;padding:4px 10px;border-radius:var(--df-radius-pill);display:flex;align-items:center;gap:5px;flex-shrink:0}.qiw-status.done{background:#22c55e26;color:var(--df-status-done)}.qiw-status.pending{background:#f59e0b26;color:var(--df-status-pending)}.qiw-status.blocked{background:#ef444426;color:var(--df-status-blocked)}.qiw-status.not-started{background:#52525b33;color:var(--df-text-muted)}.qiw-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.qiw-progress{font-size:12px;color:var(--df-text-muted);margin-bottom:12px}.qiw-actions{display:flex;gap:8px}.qiw-install-btn{flex:1;height:52px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--df-status-done);color:#000;border:none;border-radius:var(--df-radius-md);font-size:15px;font-weight:700;font-family:var(--df-ff-base);cursor:pointer;transition:background .2s ease-out,transform .1s ease-out;touch-action:manipulation}.qiw-install-btn:hover:not(:disabled){background:#16a34a}.qiw-install-btn:active:not(:disabled){transform:scale(.98)}.qiw-install-btn.done{background:var(--df-bg-elevated);color:var(--df-status-done);cursor:default}.qiw-install-btn svg{flex-shrink:0}.qiw-next-btn,.qiw-details-btn{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--df-bg-elevated);border:1px solid var(--df-border-hover);border-radius:var(--df-radius-md);color:var(--df-text-secondary);cursor:pointer;transition:background .2s ease-out,color .2s ease-out;flex-shrink:0}.qiw-next-btn:hover,.qiw-details-btn:hover{background:#ffffff1a;color:var(--df-text-primary)}.installer-status-legend{position:fixed;bottom:12px;left:12px;z-index:910;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-md);box-shadow:var(--df-shadow-float);padding:6px;touch-action:manipulation;pointer-events:auto}.status-legend-item{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--df-radius-sm);cursor:pointer;transition:background .2s ease-out;min-height:28px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.status-legend-item:hover{background:var(--df-bg-wash)}.status-legend-item.active-filter{background:var(--df-accent-glow)}.status-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-legend-dot.done{background:var(--df-status-done)}.status-legend-dot.pending{background:var(--df-status-pending)}.status-legend-dot.blocked{background:var(--df-status-blocked)}.status-legend-dot.not-started{background:var(--df-status-idle)}.status-legend-count{font-size:11px;font-weight:700;color:var(--df-text-primary);font-family:var(--df-ff-mono);line-height:1}.status-legend-label{font-size:11px;color:var(--df-text-muted);font-weight:500}.installer-top-left-pills{position:fixed;top:80px;left:16px;z-index:910;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.installer-pill-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-pill);color:var(--df-text-secondary);font-size:18px;cursor:pointer;box-shadow:var(--df-shadow-float);transition:all .2s ease-out;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.installer-pill-btn:hover{color:var(--df-text-primary);border-color:var(--df-border-hover)}.installer-pill-btn.exit-pill{background:#ef44441a;border-color:#ef444426;color:var(--df-status-blocked)}.installer-pill-btn.exit-pill:hover{background:#ef444433}.installer-pill-btn.measure-pill.active{background:var(--df-accent-glow);border-color:var(--df-accent);color:var(--df-accent-hover)}.installer-floating-label{position:absolute;transform:translate(-50%);z-index:920;pointer-events:none;background:var(--df-glass);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 10px;box-shadow:0 4px 16px #0006;text-align:center;min-width:80px;max-width:140px;animation:floatLabelIn .2s ease-out;will-change:left,top}.installer-floating-label.selected{border-color:var(--df-accent);box-shadow:0 4px 16px #0006,0 0 0 1px var(--df-accent),0 0 12px var(--df-accent-glow)}@keyframes floatLabelIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.floating-label-mark{font-family:var(--df-ff-mono);font-size:14px;font-weight:700;color:var(--df-text-primary);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-label-meta{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px}.floating-label-type{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--df-accent);letter-spacing:.04em;background:#3b82f626;padding:1px 5px;border-radius:3px}.floating-label-grid{font-size:10px;font-weight:600;color:var(--df-text-muted);font-family:var(--df-ff-mono)}.floating-label-status{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:var(--df-radius-pill);margin-top:3px}.floating-label-status.done{background:#22c55e33;color:var(--df-status-done)}.floating-label-status.pending{background:#f59e0b33;color:var(--df-status-pending)}.floating-label-status.blocked{background:#ef444433;color:var(--df-status-blocked)}.floating-label-status.not-started{background:#52525b40;color:var(--df-text-muted)}.installer-detail-panel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border-left:var(--df-glass-border);box-shadow:var(--df-shadow-deep);z-index:930;overflow-y:auto;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overscroll-behavior:contain;pointer-events:auto;-webkit-overflow-scrolling:touch}.installer-detail-panel.open{transform:translate(0)}.detail-panel-header{position:sticky;top:0;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);padding:20px 20px 16px;border-bottom:1px solid var(--df-border);z-index:1}.detail-panel-header .assembly-number{font-size:22px;font-weight:700;font-family:var(--df-ff-mono);color:var(--df-text-primary);margin-bottom:4px;padding-right:48px}.detail-panel-header .assembly-description{font-size:14px;color:var(--df-text-secondary);line-height:1.4}.detail-panel-close{position:absolute;top:16px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--df-border);border-radius:var(--df-radius-sm);color:var(--df-text-muted);font-size:20px;cursor:pointer;transition:all .2s ease-out;touch-action:manipulation}.detail-panel-close:hover{background:var(--df-bg-wash);color:var(--df-text-primary)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--df-radius-pill);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:10px}.status-badge .status-dot{width:8px;height:8px;border-radius:50%}.status-badge.done{background:#22c55e1f;color:var(--df-status-done);border:1px solid rgba(34,197,94,.25)}.status-badge.done .status-dot{background:var(--df-status-done)}.status-badge.pending{background:#f59e0b1f;color:var(--df-status-pending);border:1px solid rgba(245,158,11,.25)}.status-badge.pending .status-dot{background:var(--df-status-pending)}.status-badge.blocked{background:#ef44441f;color:var(--df-status-blocked);border:1px solid rgba(239,68,68,.25)}.status-badge.blocked .status-dot{background:var(--df-status-blocked)}.status-badge.not_started{background:#52525b26;color:var(--df-text-muted);border:1px solid rgba(82,82,91,.25)}.status-badge.not_started .status-dot{background:var(--df-status-idle)}.detail-section{padding:16px 20px;border-bottom:1px solid var(--df-border)}.detail-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--df-text-muted);margin-bottom:12px}.detail-property-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-property{display:flex;flex-direction:column;gap:2px}.detail-property .prop-label{font-size:11px;color:var(--df-text-muted)}.detail-property .prop-value{font-size:14px;font-weight:500;color:var(--df-text-primary)}.detail-property .prop-value.mono{font-family:var(--df-ff-mono)}.wbs-breadcrumb{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.wbs-breadcrumb .wbs-node{font-size:13px;color:var(--df-text-secondary);padding:2px 8px;background:var(--df-bg-wash);border-radius:var(--df-radius-sm)}.wbs-breadcrumb .wbs-sep{color:var(--df-text-muted);font-size:12px}.connected-parts-list{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.connected-parts-list.expanded{max-height:500px}.connected-parts-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 0;background:transparent;border:none;color:var(--df-text-secondary);font-size:13px;cursor:pointer;font-family:var(--df-ff-base);transition:color .2s ease-out}.connected-parts-toggle:hover{color:var(--df-text-primary)}.connected-part-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--df-radius-sm);cursor:pointer;transition:background .2s ease-out;min-height:40px;touch-action:manipulation}.connected-part-item:hover{background:var(--df-bg-wash)}.connected-part-item .part-no{font-family:var(--df-ff-mono);font-weight:600;font-size:13px;color:var(--df-accent)}.connected-part-item .part-desc{font-size:12px;color:var(--df-text-secondary)}.connected-part-item .part-meta{font-size:12px;color:var(--df-text-muted)}.connected-nav-arrow{font-size:18px;color:var(--df-text-muted);flex-shrink:0}.install-checklist{padding:16px 20px;border-bottom:1px solid var(--df-border)}.checklist-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px}.checklist-progress-bar{flex:1;height:6px;background:var(--df-border);border-radius:3px;overflow:hidden}.checklist-progress-fill{height:100%;background:var(--df-status-done);border-radius:3px;transition:width .4s ease-out}.checklist-progress-text{font-size:13px;font-weight:600;color:var(--df-text-secondary);min-width:40px;text-align:right;font-family:var(--df-ff-mono)}.checklist-item{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:48px;border-radius:var(--df-radius-sm);cursor:pointer;transition:background .2s ease-out;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.checklist-item:hover{background:var(--df-bg-wash)}.checklist-item .check-box{width:24px;height:24px;border:2px solid var(--df-text-muted);border-radius:var(--df-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s cubic-bezier(.4,0,.2,1);font-size:14px;color:transparent}.checklist-item.checked .check-box{background:var(--df-status-done);border-color:var(--df-status-done);color:var(--df-bg-canvas);box-shadow:0 0 8px #22c55e4d}.checklist-item .check-label{font-size:14px;color:var(--df-text-primary);transition:color .2s ease-out}.checklist-item.checked .check-label{color:var(--df-text-muted);text-decoration:line-through}.detail-quick-actions{display:flex;gap:10px;padding:14px 20px;border-bottom:1px solid var(--df-border)}.quick-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border:none;border-radius:var(--df-radius-md);font-size:14px;font-weight:600;font-family:var(--df-ff-base);cursor:pointer;transition:all .2s ease-out;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mark-done-btn{background:#22c55e26;color:var(--df-status-done);border:1px solid rgba(34,197,94,.25)}.mark-done-btn:hover:not(:disabled){background:#22c55e40}.mark-done-btn:active:not(:disabled){background:#22c55e59;transform:scale(.97)}.mark-done-btn.completed{background:#22c55e14;color:#22c55e80;cursor:default}.next-piece-btn{background:var(--df-accent-glow);color:var(--df-accent-hover);border:1px solid rgba(59,130,246,.25)}.next-piece-btn:hover{background:#3b82f640}.next-piece-btn:active{background:#3b82f659;transform:scale(.97)}.quick-action-icon{font-size:18px}.installer-status-summary{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border-top:var(--df-glass-border);z-index:910;min-height:46px}.summary-progress-section{display:flex;align-items:center;gap:10px;flex-shrink:0}.summary-pct{font-family:var(--df-ff-mono);font-size:20px;font-weight:800;color:var(--df-status-done);line-height:1;min-width:48px}.summary-progress-track{width:80px;height:6px;background:var(--df-border);border-radius:3px;overflow:hidden}.summary-progress-fill{height:100%;background:var(--df-status-done);border-radius:3px;transition:width .4s ease-out}.summary-counts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.status-summary-item{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--df-bg-wash);border-radius:var(--df-radius-sm);transition:background .2s ease-out;cursor:pointer;touch-action:manipulation}.status-summary-item:hover{background:#ffffff14}.status-summary-item .summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-summary-item .summary-count{color:var(--df-text-primary);font-weight:700;font-size:14px;font-family:var(--df-ff-mono);line-height:1}.status-summary-item .summary-label{color:var(--df-text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.status-summary-item.total-item{margin-left:4px;padding-left:10px;border-left:1px solid var(--df-border);background:none}.status-summary-item.done-item .summary-count{color:var(--df-status-done)}.installer-wbs-panel{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:85vw;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border-right:var(--df-glass-border);box-shadow:var(--df-shadow-deep);z-index:930;overflow-y:auto;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.installer-wbs-panel.open{transform:translate(0)}.wbs-panel-header{position:sticky;top:0;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);padding:16px 16px 12px;border-bottom:1px solid var(--df-border);display:flex;align-items:center;justify-content:space-between;z-index:1}.wbs-panel-title{font-size:15px;font-weight:600;color:var(--df-text-primary)}.wbs-panel-actions{display:flex;gap:4px}.wbs-panel-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--df-text-muted);font-size:16px;cursor:pointer;border-radius:var(--df-radius-sm);transition:background .2s ease-out}.wbs-panel-btn:hover{background:var(--df-bg-wash);color:var(--df-text-primary)}.wbs-toggle-btn{position:fixed;top:80px;left:16px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);color:var(--df-text-secondary);font-size:20px;cursor:pointer;border-radius:var(--df-radius-md);box-shadow:var(--df-shadow-float);z-index:910;transition:all .2s ease-out;touch-action:manipulation}.wbs-toggle-btn:hover{background:var(--df-bg-elevated);color:var(--df-text-primary)}.wbs-toggle-btn.hidden{display:none}.wbs-tree{padding:8px}.wbs-tree-node{margin-bottom:2px}.wbs-tree-node-header{display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:42px;border-radius:var(--df-radius-sm);border-left:3px solid transparent;cursor:pointer;transition:all .2s ease-out;user-select:none;touch-action:manipulation}.wbs-tree-node-header:hover{background:var(--df-bg-wash);border-left-color:var(--df-accent)}.wbs-tree-node-header.selected{background:var(--df-accent-glow);border-left-color:var(--df-accent)}.wbs-tree-node-header .node-expand{width:20px;font-size:12px;color:var(--df-text-muted);text-align:center;flex-shrink:0;transition:transform .2s ease-out}.wbs-tree-node-header .node-expand.expanded{transform:rotate(90deg)}.wbs-tree-node-header .node-label{flex:1;font-size:13px;color:var(--df-text-primary)}.wbs-tree-node-header .node-count{font-size:11px;color:var(--df-text-muted);padding:2px 8px;background:var(--df-bg-wash);border-radius:var(--df-radius-pill)}.wbs-tree-node-header .node-incomplete-dot{width:8px;height:8px;border-radius:50%;background:var(--df-status-pending);flex-shrink:0}.wbs-tree-children{margin-left:20px;max-height:0;overflow:hidden;transition:max-height .3s ease-out}.wbs-tree-children.expanded{max-height:2000px}.wbs-export-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 24px);margin:12px;padding:12px 16px;min-height:48px;background:var(--df-bg-wash);border:1px solid var(--df-border);border-radius:var(--df-radius-md);color:var(--df-text-secondary);font-size:13px;font-weight:500;font-family:var(--df-ff-base);cursor:pointer;transition:all .2s ease-out;touch-action:manipulation}.wbs-export-btn:hover{background:var(--df-bg-elevated);color:var(--df-text-primary);border-color:var(--df-border-hover)}.installer-detail-panel::-webkit-scrollbar,.installer-wbs-panel::-webkit-scrollbar,.installer-search-results::-webkit-scrollbar,.alp-list::-webkit-scrollbar{width:6px}.installer-detail-panel::-webkit-scrollbar-track,.installer-wbs-panel::-webkit-scrollbar-track,.installer-search-results::-webkit-scrollbar-track,.alp-list::-webkit-scrollbar-track{background:transparent}.installer-detail-panel::-webkit-scrollbar-thumb,.installer-wbs-panel::-webkit-scrollbar-thumb,.installer-search-results::-webkit-scrollbar-thumb,.alp-list::-webkit-scrollbar-thumb{background:#3b82f633;border-radius:3px}.installer-detail-panel::-webkit-scrollbar-thumb:hover,.installer-wbs-panel::-webkit-scrollbar-thumb:hover,.installer-search-results::-webkit-scrollbar-thumb:hover,.alp-list::-webkit-scrollbar-thumb:hover{background:#3b82f666}@media(max-width:768px){.installer-search-bar{max-width:calc(100vw - 40px);top:12px}.installer-search-results{top:70px;width:calc(100vw - 32px)}.installer-list-panel{inset:auto 0 0;width:100%;max-height:60vh;border-radius:var(--df-radius-lg) var(--df-radius-lg) 0 0;transform:translateY(100%)}.installer-list-panel.open{transform:translateY(0)}.installer-list-toggle{top:auto;bottom:16px;right:16px}.installer-detail-panel,.installer-wbs-panel{width:100vw;max-width:100vw}.installer-quick-widget{max-width:calc(100vw - 32px)}.installer-top-left-pills{top:72px;left:12px}.installer-status-legend{bottom:8px;left:8px}.alp-row{height:auto;min-height:48px;padding:10px 16px}.checklist-item{min-height:52px;padding:12px}.connected-part-item{min-height:52px}}@media(max-width:480px){.installer-search-bar{max-width:calc(100vw - 24px);top:8px;padding:3px 3px 3px 12px;gap:6px}.installer-search-bar .search-input{height:44px;font-size:16px}.installer-search-bar .search-clear-btn,.installer-search-bar .exit-installer-btn{width:38px;height:38px}.installer-search-results{top:62px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:55vh}.installer-search-results .result-item{padding:12px 14px;min-height:52px}.result-item .result-assembly-no{font-size:14px}.installer-list-panel{max-height:65vh}.alp-progress-count,.alp-progress-pct{font-size:13px}.alp-row{padding:8px 14px;height:48px}.alp-row-tag{font-size:15px}.installer-detail-panel{width:100vw;max-width:100vw}.detail-panel-header{padding:14px 16px 12px}.detail-panel-header .assembly-number{font-size:18px;padding-right:44px}.detail-panel-header .assembly-description{font-size:13px}.detail-panel-close{width:38px;height:38px;top:12px;right:12px}.status-badge{font-size:11px;padding:4px 10px}.detail-quick-actions{flex-direction:column;gap:8px;padding:12px 16px}.quick-action-btn{height:50px;font-size:15px;border-radius:var(--df-radius-md)}.detail-property-grid{grid-template-columns:1fr;gap:10px}.detail-section{padding:12px 16px}.detail-section-title{font-size:10px;margin-bottom:10px}.detail-property .prop-value{font-size:13px}.wbs-breadcrumb{gap:3px}.wbs-breadcrumb .wbs-node{font-size:12px;padding:2px 6px}.checklist-item .check-box{width:28px;height:28px;border-radius:7px;font-size:16px}.checklist-item .check-label{font-size:15px}.installer-quick-widget{bottom:8px;max-width:calc(100vw - 16px);padding:14px 16px}.quick-widget-name{font-size:18px}.quick-widget-install-btn{height:48px;font-size:14px}.quick-widget-icon-btn{width:48px;height:48px}.installer-status-legend{grid-template-columns:repeat(4,auto);gap:1px;bottom:6px;left:6px;padding:4px}.status-legend-item{padding:4px 6px;gap:4px}.status-legend-label{display:none}.installer-wbs-panel{width:100vw;max-width:100vw}.wbs-toggle-btn{top:64px;left:8px;width:42px;height:42px;font-size:18px}.wbs-tree-node-header{padding:10px;min-height:48px}.wbs-tree-node-header .node-label{font-size:14px}.installer-top-left-pills{top:60px;left:8px}.installer-pill-btn{width:36px;height:36px;font-size:16px}.installer-status-summary{padding:6px 10px;gap:8px;flex-wrap:wrap}.summary-pct{font-size:16px;min-width:40px}.summary-progress-track{width:60px;height:5px}.summary-counts{gap:4px}.status-summary-item{padding:3px 8px;gap:4px}.status-summary-item .summary-count{font-size:12px}.status-summary-item .summary-dot{width:7px;height:7px}.installer-floating-label{padding:5px 8px;max-width:120px;border-radius:6px}.floating-label-mark{font-size:12px}.floating-label-type,.floating-label-grid{font-size:9px}.floating-label-status{font-size:8px;padding:1px 5px}}@media(max-width:360px){.installer-search-bar{padding:2px 2px 2px 10px;gap:4px}.installer-search-bar .search-input{height:40px;font-size:15px}.installer-search-bar .search-clear-btn,.installer-search-bar .exit-installer-btn{width:36px;height:36px;font-size:16px}.detail-panel-header .assembly-number{font-size:16px}.quick-action-btn{height:46px;font-size:14px}.alp-progress-count,.alp-progress-pct{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.installer-list-panel,.installer-detail-panel,.installer-wbs-panel,.installer-quick-widget{transition:none!important}.installer-floating-label{animation:none!important}}.installer-split-view{position:fixed;inset:82px 0 42px;display:flex;z-index:901}.installer-split-view.tab-mode{display:block}.split-panel-3d{flex:1;position:relative;min-width:0;overflow:hidden;border-right:none;transition:flex .3s ease}.split-panel-3d.fullscreen{flex:1!important}.split-panel-map{flex:1;position:relative;min-width:0;overflow:hidden;transition:flex .3s ease}.split-panel-map.fullscreen{flex:1!important}.split-panel-3d.hidden-panel,.split-panel-map.hidden-panel{flex:0!important;width:0!important;min-width:0!important;overflow:hidden;border:none}.installer-split-view.tab-mode .split-panel-3d,.installer-split-view.tab-mode .split-panel-map{position:absolute;inset:0}.installer-split-view.tab-mode .split-panel-3d.hidden-panel,.installer-split-view.tab-mode .split-panel-map.hidden-panel{display:none}.split-resize-handle{width:8px;cursor:col-resize;background:linear-gradient(180deg,#6366f10d,#6366f126,#6366f10d);flex-shrink:0;position:relative;z-index:2;transition:all .2s ease}.split-resize-handle:hover,.split-resize-handle.dragging{background:linear-gradient(180deg,#6366f11a,#6366f166,#6366f11a);width:10px}.split-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:40px;background:#6366f166;border-radius:2px;transition:background .2s ease}.split-resize-handle:hover:after,.split-resize-handle.dragging:after{background:#6366f1b3}.installer-split-view.tab-mode .split-resize-handle{display:none}.split-view-toggle{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;gap:2px;padding:3px;background:#080a12bf;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(148,163,198,.12);border-radius:14px;z-index:920;box-shadow:0 4px 20px #00000080,0 0 0 1px #ffffff08 inset}.split-view-toggle .toggle-btn{padding:8px 20px;min-height:36px;font-size:13px;font-weight:600;font-family:var(--bim-ui--ff-base);color:var(--inst-text-muted);background:transparent;border:none;border-radius:11px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;letter-spacing:.02em}.split-view-toggle .toggle-btn:hover{color:var(--inst-text-primary);background:#ffffff0f}.split-view-toggle .toggle-btn.active{color:#fff;background:var(--inst-accent);box-shadow:0 2px 8px #6366f166}.installer-map-container{position:absolute;inset:0;background:#1a1a2e}.installer-map-container.leaflet-container{background:#1a1a2e;font-family:var(--bim-ui--ff-base)}#installer-map-container .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(1.1)}#installer-map-container .leaflet-tile{opacity:1!important}#installer-map-container .leaflet-control-zoom a{background:var(--inst-bg-surface)!important;color:var(--inst-text-primary)!important;border-color:var(--inst-border)!important;width:36px!important;height:36px!important;line-height:36px!important;font-size:18px!important}#installer-map-container .leaflet-control-zoom a:hover{background:var(--inst-bg-hover)!important}#installer-map-container .leaflet-control-attribution{background:#0a0a0cb3!important;color:var(--inst-text-muted)!important;font-size:10px!important}#installer-map-container .leaflet-control-attribution a{color:var(--inst-text-muted)!important}#installer-map-container .leaflet-popup-content-wrapper{background:var(--inst-bg-surface)!important;color:var(--inst-text-primary)!important;border-radius:var(--inst-rounding)!important;box-shadow:0 4px 16px #00000080!important}#installer-map-container .leaflet-popup-tip{background:var(--inst-bg-surface)!important}#installer-map-container .leaflet-popup-close-button{color:var(--inst-text-muted)!important}.assembly-pin{width:28px;height:28px;border-radius:50%;border:3px solid rgba(0,0,0,.4);box-shadow:0 2px 8px #00000080;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.assembly-pin:hover{transform:scale(1.3);box-shadow:0 4px 16px #0009}.assembly-pin.done{background:var(--inst-status-done)}.assembly-pin.pending{background:var(--inst-status-pending)}.assembly-pin.blocked{background:var(--inst-status-blocked)}.assembly-pin.not_started{background:var(--inst-status-not-started)}.assembly-pin.pulse{animation:pin-pulse 1.5s ease-in-out infinite}@keyframes pin-pulse{0%,to{transform:scale(1);box-shadow:0 2px 8px #00000080}50%{transform:scale(1.4);box-shadow:0 0 20px #3b82f699}}.assembly-cluster{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#161b26e6;border:2px solid var(--inst-accent);color:#fff;font-size:13px;font-weight:700;font-family:var(--bim-ui--ff-mono);box-shadow:0 2px 12px #00000080,0 0 8px #6366f133;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pin-popup{min-width:180px}.pin-popup .popup-assembly-no{font-size:15px;font-weight:700;font-family:var(--bim-ui--ff-mono);margin-bottom:4px}.pin-popup .popup-description{font-size:12px;color:var(--inst-text-secondary);margin-bottom:6px}.pin-popup .popup-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase}.pin-popup .popup-nav-btn{display:block;width:100%;margin-top:8px;padding:8px;background:var(--inst-accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;font-family:var(--bim-ui--ff-base)}.pin-popup .popup-nav-btn:hover{background:var(--inst-accent-hover)}.map-pin-drop-overlay{position:absolute;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#080a12b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none}.map-pin-drop-overlay .pin-drop-message{padding:24px 32px;background:#0f1219f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.3);border-radius:16px;color:var(--inst-text-primary);font-size:16px;font-weight:500;text-align:center;box-shadow:0 12px 48px #0009,0 0 0 1px #6366f11a inset;pointer-events:auto;animation:pinDropFadeIn .4s ease}@keyframes pinDropFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.map-pin-drop-overlay .pin-drop-message .pin-drop-sub{font-size:13px;color:var(--inst-text-secondary);margin-top:8px;line-height:1.5}.user-location-dot{width:16px;height:16px;border-radius:50%;background:#3b82f6;border:3px solid white;box-shadow:0 0 12px #3b82f699}.distance-label{position:absolute;bottom:8px;right:8px;padding:6px 12px;background:var(--inst-bg-surface);border:1px solid var(--inst-border);border-radius:6px;color:var(--inst-text-primary);font-size:13px;font-weight:600;font-family:var(--bim-ui--ff-mono);z-index:500;box-shadow:0 2px 8px #0006}.map-relocate-btn{position:absolute;top:10px;right:10px;padding:8px 14px;background:#0f1219d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,198,.15);border-radius:10px;color:var(--inst-text-primary);font-size:12px;font-weight:600;font-family:var(--bim-ui--ff-base);cursor:pointer;z-index:910;box-shadow:0 2px 12px #0006;transition:all .2s ease}.map-relocate-btn:hover{background:#6366f140;border-color:#6366f166;box-shadow:0 2px 16px #6366f133}@media(max-width:1024px){.split-resize-handle{display:none}}@media(max-width:480px){.installer-split-view{top:66px;bottom:40px;display:block}.installer-split-view .split-panel-3d,.installer-split-view .split-panel-map{position:absolute;inset:0}.split-resize-handle{display:none!important}#installer-map-container .leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;font-size:20px!important}.assembly-pin{width:34px;height:34px;border-width:3px}.assembly-cluster{width:46px;height:46px;font-size:14px}#installer-map-container .leaflet-popup-content-wrapper{min-width:200px}.pin-popup .popup-assembly-no{font-size:16px}.pin-popup .popup-nav-btn{padding:10px;font-size:14px;min-height:44px}.user-location-dot{width:20px;height:20px;border-width:3px}.distance-label{bottom:52px;font-size:12px;padding:5px 10px}.map-pin-drop-overlay .pin-drop-message{padding:14px 20px;font-size:15px;margin:0 16px}}:root{--df-bg-canvas: #09090b;--df-bg-surface: #18181b;--df-bg-elevated: #27272a;--df-bg-wash: rgba(255, 255, 255, .04);--df-text-primary: #fafafa;--df-text-secondary: #a1a1aa;--df-text-muted: #71717a;--df-accent: #3b82f6;--df-accent-hover: #60a5fa;--df-accent-glow: rgba(59, 130, 246, .15);--df-status-done: #22c55e;--df-status-pending: #f59e0b;--df-status-blocked: #ef4444;--df-status-idle: #52525b;--df-glass: rgba(9, 9, 11, .82);--df-glass-blur: blur(24px) saturate(1.6);--df-glass-border: 1px solid rgba(255, 255, 255, .08);--df-border: rgba(255, 255, 255, .06);--df-border-hover: rgba(255, 255, 255, .12);--df-radius-sm: 6px;--df-radius-md: 10px;--df-radius-lg: 16px;--df-radius-pill: 9999px;--df-shadow-float: 0 4px 24px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .06);--df-shadow-deep: 0 12px 48px rgba(0, 0, 0, .6);--df-ff-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--df-ff-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--df-transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--df-transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--df-transition-slow: .35s cubic-bezier(.16, 1, .3, 1);--bim-ui--bg-base: var(--df-bg-canvas);--bim-ui--bg-contrast-10: #111114;--bim-ui--bg-contrast-20: var(--df-bg-surface);--bim-ui--bg-contrast-40: var(--df-bg-elevated);--bim-ui--bg-contrast-60: var(--df-text-muted);--bim-ui--bg-contrast-80: var(--df-text-secondary);--bim-ui--bg-contrast-100: var(--df-text-primary);--bim-ui--color-main: var(--df-accent);--bim-ui--color-main-hover: var(--df-accent-hover);--bim-ui--color-main-subtle: var(--df-accent-glow);--bim-ui--color-accent: #f43f5e;--bim-ui--color-success: var(--df-status-done);--bim-ui--color-warning: var(--df-status-pending);--bim-ui--color-info: #a78bfa;--bim-ui--gradient-primary: var(--df-accent);--bim-ui--gradient-accent: #f43f5e;--bim-ui--gradient-surface: var(--df-glass);--bim-ui--fz-2xs: 10px;--bim-ui--fz-xs: 11px;--bim-ui--fz-sm: 12px;--bim-ui--fz-base: 13px;--bim-ui--fz-lg: 14px;--bim-ui--fz-xl: 16px;--bim-ui--fz-2xl: 20px;--bim-ui--ff-base: var(--df-ff-base);--bim-ui--ff-header: var(--df-ff-base);--bim-ui--ff-mono: var(--df-ff-mono);--bim-ui--lh-tight: 1.2;--bim-ui--lh-normal: 1.5;--bim-ui--fw-normal: 400;--bim-ui--fw-medium: 500;--bim-ui--fw-semibold: 600;--bim-ui--fw-bold: 700;--bim-ui--space-1: 4px;--bim-ui--space-2: 8px;--bim-ui--space-3: 12px;--bim-ui--space-4: 16px;--bim-ui--space-5: 24px;--bim-ui--space-6: 32px;--bim-ui--space-8: 48px;--bim-ui--size-base: 8px;--bim-ui--rounding-xs: 4px;--bim-ui--rounding-sm: var(--df-radius-sm);--bim-ui--rounding-base: 8px;--bim-ui--rounding-lg: var(--df-radius-md);--bim-ui--rounding-xl: 14px;--bim-ui--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--bim-ui--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--bim-ui--shadow-lg: 0 12px 40px rgba(0, 0, 0, .45);--bim-ui--shadow-glow: 0 0 0 2px rgba(59, 130, 246, .3);--bim-ui--border-subtle: 1px solid var(--df-border);--bim-ui--border-default: var(--df-glass-border);--bim-ui--border-strong: 1px solid rgba(255, 255, 255, .12);--bim-ui--transition-fast: .12s ease-out;--bim-ui--transition-normal: .2s ease-out;--bim-ui--transition-slow: .35s ease-out;--bim-ui--touch-target: 44px;--bim-ui--btn-height-sm: 28px;--bim-ui--btn-height-md: 36px;--bim-ui--btn-height-lg: 44px}html.light-theme{--bim-ui--bg-base: #ffffff;--bim-ui--bg-contrast-10: #f7f7f8;--bim-ui--bg-contrast-20: #eeeff1;--bim-ui--bg-contrast-40: #d1d5db;--bim-ui--bg-contrast-60: #9096a2;--bim-ui--bg-contrast-80: #555d6e;--bim-ui--bg-contrast-100: #1a1d24;--bim-ui--color-main: #2563eb;--bim-ui--color-main-hover: #1d4ed8;--bim-ui--color-main-subtle: rgba(37, 99, 235, .08);--bim-ui--color-accent: #dc2626;--bim-ui--color-success: #16a34a;--bim-ui--color-warning: #ca8a04;--bim-ui--color-info: #7c3aed;--bim-ui--gradient-primary: #2563eb;--bim-ui--gradient-accent: #dc2626;--bim-ui--gradient-surface: rgba(255, 255, 255, .92);--bim-ui--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--bim-ui--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--bim-ui--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--bim-ui--shadow-glow: 0 0 0 2px rgba(37, 99, 235, .2);--bim-ui--border-subtle: 1px solid rgba(0, 0, 0, .04);--bim-ui--border-default: 1px solid rgba(0, 0, 0, .08);--bim-ui--border-strong: 1px solid rgba(0, 0, 0, .14)}html.gallery-mode{--bim-ui--bg-base: #fafafa;--bim-ui--bg-contrast-10: rgba(0, 0, 0, .03);--bim-ui--bg-contrast-20: rgba(0, 0, 0, .06);--bim-ui--bg-contrast-40: rgba(0, 0, 0, .12);--bim-ui--bg-contrast-60: rgba(0, 0, 0, .38);--bim-ui--bg-contrast-80: rgba(0, 0, 0, .6);--bim-ui--bg-contrast-100: rgba(0, 0, 0, .87);--bim-ui--color-main: #2563eb;--bim-ui--color-main-hover: #1d4ed8;--bim-ui--color-accent: #dc2626;--bim-ui--color-success: #16a34a;--bim-ui--color-warning: #ca8a04;--bim-ui--color-info: #7c3aed;--bim-ui--gradient-primary: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--bim-ui--gradient-accent: linear-gradient(135deg, #dc2626 0%, #f87171 100%);--bim-ui--gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(250, 250, 250, .95) 100%);--bim-ui--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--bim-ui--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--bim-ui--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--bim-ui--shadow-glow: 0 0 24px rgba(37, 99, 235, .2)}html.gallery-mode #app{background:transparent}html.gallery-mode bim-toolbars-container{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}html.gallery-mode #main-toolbar{background:#ffffffe6;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 12px #0000000f}html.gallery-mode #icon-sidebar{background:#ffffffe6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(0,0,0,.06)}html.gallery-mode .slide-panels{background:#fffffff2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(0,0,0,.08)}html.gallery-mode #status-bar{background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -2px 12px #0000000a}html.gallery-mode #viewport{background:transparent}.df-glass{background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);box-shadow:var(--df-shadow-float)}@supports not (backdrop-filter: blur(1px)){.df-glass{background:var(--df-bg-surface)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--df-ff-base);background:var(--df-bg-canvas);color:var(--df-text-primary)}#app{width:100%;height:100vh;height:100dvh;position:relative;overflow:hidden}#viewport{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--df-bg-canvas)!important;z-index:0}#viewport canvas{width:100%!important;height:100%!important;display:block;touch-action:none;cursor:grab;outline:none;-webkit-tap-highlight-color:transparent}#viewport canvas:active{cursor:grabbing}.panel-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000040;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:85;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.panel-overlay.active{opacity:1;visibility:visible}bim-toolbars-container{position:absolute;top:var(--bim-ui--space-3);left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);overflow-x:auto;overflow-y:hidden;background:var(--bim-ui--gradient-surface);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:var(--bim-ui--border-default);padding:var(--bim-ui--space-1) var(--bim-ui--space-2);border-radius:var(--bim-ui--rounding-xl);box-shadow:var(--bim-ui--shadow-md);display:flex;justify-content:center;z-index:100;scrollbar-width:none;-ms-overflow-style:none}bim-toolbars-container::-webkit-scrollbar{display:none}#main-toolbar{background:transparent;border-radius:0;box-shadow:none;border:none;padding:0;display:flex;align-items:center;gap:2px}bim-toolbar-section{border-right:1px solid rgba(255,255,255,.07);padding-right:var(--bim-ui--space-2);margin-right:var(--bim-ui--space-2);position:relative;display:flex;align-items:center;gap:2px}bim-toolbar-section:after{content:attr(label);position:absolute;bottom:-6px;left:50%;transform:translate(-50%);font-family:var(--bim-ui--ff-base);font-size:var(--bim-ui--fz-2xs);font-weight:var(--bim-ui--fw-medium);color:var(--bim-ui--bg-contrast-60);text-transform:uppercase;letter-spacing:1px;opacity:0;white-space:nowrap;pointer-events:none;transition:opacity var(--bim-ui--transition-fast)}bim-toolbars-container:hover bim-toolbar-section:after{opacity:.55}bim-toolbar-section:last-child{border-right:none;margin-right:0;padding-right:0}.toolbar-btn-primary{display:inline-flex;align-items:center;gap:var(--bim-ui--space-1);padding:var(--bim-ui--space-1) var(--bim-ui--space-3);height:var(--bim-ui--btn-height-md);background:var(--bim-ui--color-main);border:1px solid transparent;border-radius:var(--bim-ui--rounding-sm);color:#fff;font-size:var(--bim-ui--fz-sm);font-weight:var(--bim-ui--fw-semibold);font-family:var(--bim-ui--ff-base);cursor:pointer;transition:background var(--bim-ui--transition-fast),box-shadow var(--bim-ui--transition-fast),transform var(--bim-ui--transition-fast)}.toolbar-btn-primary input[type=file]{display:none}.toolbar-btn-primary iconify-icon{font-size:16px}.toolbar-btn-primary:hover{background:var(--bim-ui--color-main-hover);box-shadow:var(--bim-ui--shadow-glow);transform:scale(1.05)}.toolbar-btn-primary:active{transform:scale(.97)}.toolbar-btn-primary:focus-visible{box-shadow:var(--bim-ui--shadow-glow),0 0 0 3px #3b82f666}.view-btn-secondary{opacity:.55}.view-btn-secondary:hover{opacity:1}.toolbar-divider-sm{width:1px;height:20px;background:#ffffff0f;margin:0 var(--bim-ui--space-1);align-self:center;flex-shrink:0}.toolbar-section-end{margin-left:auto}bim-button{transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast),box-shadow var(--bim-ui--transition-fast);border-radius:var(--bim-ui--rounding-sm)!important;position:relative}bim-button:hover{background:var(--bim-ui--bg-contrast-20)}bim-button:active{background:var(--bim-ui--bg-contrast-40);transition-duration:.05s}bim-button.active,bim-button[active]{background:var(--bim-ui--color-main-subtle)!important;color:var(--bim-ui--color-main)!important;box-shadow:inset 0 0 0 1px #3b82f633}bim-button:focus-visible{box-shadow:var(--bim-ui--shadow-glow)}.native-open-btn{display:inline-flex;align-items:center;gap:var(--bim-ui--space-2);padding:var(--bim-ui--space-2) var(--bim-ui--space-4);height:var(--bim-ui--btn-height-md);background:var(--bim-ui--color-main);border:1px solid transparent;border-radius:var(--bim-ui--rounding-sm);color:#fff;font-family:var(--bim-ui--ff-base);font-size:var(--bim-ui--fz-base);font-weight:var(--bim-ui--fw-semibold);cursor:pointer;transition:background var(--bim-ui--transition-fast),box-shadow var(--bim-ui--transition-fast);white-space:nowrap}.native-open-btn:hover{background:var(--bim-ui--color-main-hover);box-shadow:var(--bim-ui--shadow-glow)}.native-open-btn:active{transform:scale(.97)}.native-open-btn:focus-visible{box-shadow:var(--bim-ui--shadow-glow),0 0 0 3px #3b82f666}.native-open-btn input[type=file]{display:none}#properties-panel,.slide-panels,.properties-overlay{background:var(--bim-ui--gradient-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--bim-ui--shadow-lg);overflow-y:auto;scrollbar-gutter:stable;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease-out}.slide-panels{border-right:var(--bim-ui--border-subtle)}.properties-overlay{border-left:var(--bim-ui--border-subtle)}bim-panel-section{border-bottom:1px solid var(--bim-ui--bg-contrast-20);transition:background var(--bim-ui--transition-fast)}bim-panel-section:hover{background:#ffffff03}bim-panel-section::part(header){padding:var(--bim-ui--space-3) var(--bim-ui--space-4);font-family:var(--bim-ui--ff-header);font-weight:var(--bim-ui--fw-semibold);font-size:var(--bim-ui--fz-sm);letter-spacing:.3px;transition:background var(--bim-ui--transition-fast)}bim-panel-section::part(header):hover{background:var(--bim-ui--bg-contrast-10)}bim-panel-section::part(content){padding:0 var(--bim-ui--space-3) var(--bim-ui--space-3)}#status-bar{position:absolute;bottom:var(--bim-ui--space-3);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1px;padding:2px var(--bim-ui--space-1);background:#0e0e11c7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--bim-ui--bg-contrast-80);font-size:var(--bim-ui--fz-xs);border:var(--bim-ui--border-subtle);border-radius:var(--bim-ui--rounding-lg);box-shadow:var(--bim-ui--shadow-sm);z-index:100;pointer-events:none}#status-bar span{display:flex;align-items:center;gap:var(--bim-ui--space-1);padding:3px var(--bim-ui--space-2);border-radius:var(--bim-ui--rounding-sm);white-space:nowrap}#fps-counter{min-width:54px;font-family:var(--bim-ui--ff-mono);font-size:var(--bim-ui--fz-2xs);color:var(--bim-ui--bg-contrast-60)}#fps-counter:before{content:"●";color:var(--bim-ui--color-success);font-size:6px;animation:pulse 2.5s ease-in-out infinite}#status-message{color:var(--bim-ui--bg-contrast-60);font-size:10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}#selection-count{min-width:90px}#selection-count:before{content:"◉";color:var(--bim-ui--color-main);font-size:10px}#status-message{margin-left:auto;color:var(--bim-ui--color-success);font-weight:500;background:#34d39914!important;border:1px solid rgba(52,211,153,.12)}#status-message.loading{color:var(--bim-ui--color-warning);background:#d299221a!important;border-color:#d2992233;animation:statusPulse 1.5s infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #3b82f64d}50%{box-shadow:0 0 16px #3b82f699}}.properties-table{width:100%;border-collapse:collapse;font-size:var(--bim-ui--fz-sm);line-height:var(--bim-ui--lh-normal)}.properties-table thead th{position:sticky;top:0;background:var(--bim-ui--bg-contrast-10);padding:var(--bim-ui--space-1) var(--bim-ui--space-2);font-size:var(--bim-ui--fz-xs);font-weight:var(--bim-ui--fw-semibold);text-transform:uppercase;letter-spacing:.3px;color:var(--bim-ui--bg-contrast-60);border-bottom:var(--bim-ui--border-default);text-align:left;z-index:1}.properties-table tr:hover{background:#ffffff06}.properties-table td{padding:var(--bim-ui--space-1) var(--bim-ui--space-2);border-bottom:var(--bim-ui--border-subtle);vertical-align:top}.properties-table td:first-child{color:var(--bim-ui--bg-contrast-60);width:38%;font-weight:var(--bim-ui--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.properties-table td:last-child{word-break:break-word}.properties-table td.numeric{text-align:right;font-family:var(--bim-ui--ff-mono);font-size:var(--bim-ui--fz-xs)}#model-info p{margin:4px 0;font-size:13px}#model-info strong{color:var(--bim-ui--bg-contrast-80)}#model-info .hint{color:var(--bim-ui--color-main);font-size:11px;margin-top:8px;text-align:center}.empty-state{text-align:center;padding:var(--bim-ui--space-5) var(--bim-ui--space-4);color:var(--bim-ui--bg-contrast-60);font-size:var(--bim-ui--fz-sm);background:transparent;border:1px dashed rgba(255,255,255,.08);border-radius:var(--bim-ui--rounding-base);margin:var(--bim-ui--space-3);line-height:var(--bim-ui--lh-normal)}#settings-panel{display:flex;flex-direction:column;gap:var(--bim-ui--space-3);padding:var(--bim-ui--space-2)}.settings-group{display:flex;flex-direction:column;gap:var(--bim-ui--space-1)}.settings-group label{font-size:var(--bim-ui--fz-sm);font-weight:var(--bim-ui--fw-medium);color:var(--bim-ui--bg-contrast-60);line-height:var(--bim-ui--lh-tight)}.settings-section{margin-bottom:var(--bim-ui--space-4)}.settings-section-title{font-size:var(--bim-ui--fz-xs);font-family:var(--bim-ui--ff-header);font-weight:var(--bim-ui--fw-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--bim-ui--bg-contrast-60);margin-bottom:var(--bim-ui--space-3);padding-bottom:var(--bim-ui--space-1);border-bottom:1px solid var(--bim-ui--bg-contrast-20)}.theme-options{display:flex;gap:var(--bim-ui--space-2);margin-top:var(--bim-ui--space-1)}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--bim-ui--space-1);padding:var(--bim-ui--space-3) var(--bim-ui--space-2);background:var(--bim-ui--bg-contrast-10);border:2px solid transparent;border-radius:var(--bim-ui--rounding-base);cursor:pointer;transition:background var(--bim-ui--transition-fast),border-color var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast);font-family:var(--bim-ui--ff-base);font-size:var(--bim-ui--fz-xs);font-weight:var(--bim-ui--fw-medium);color:var(--bim-ui--bg-contrast-80)}.theme-option:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--bim-ui--bg-contrast-40)}.theme-option.active{background:var(--bim-ui--color-main-subtle);border-color:var(--bim-ui--color-main);color:var(--bim-ui--color-main);box-shadow:var(--bim-ui--shadow-glow)}.theme-option:focus-visible{box-shadow:var(--bim-ui--shadow-glow)}.theme-icon{font-size:20px}.settings-hint{font-size:var(--bim-ui--fz-2xs);color:var(--bim-ui--bg-contrast-60);margin-top:var(--bim-ui--space-2);font-style:italic}.dropzone-active{position:fixed;inset:0;background:#3b82f60f;border:2px dashed var(--bim-ui--color-main);pointer-events:none;z-index:100;display:flex;align-items:center;justify-content:center;animation:dropzoneAppear .15s ease-out}@keyframes dropzoneAppear{0%{opacity:0}to{opacity:1}}.dropzone-active:after{content:"Drop .ifc or .ifczip file here";font-size:var(--bim-ui--fz-xl);font-weight:var(--bim-ui--fw-medium);color:var(--bim-ui--color-main);background:var(--bim-ui--bg-base);padding:var(--bim-ui--space-4) var(--bim-ui--space-6);border-radius:var(--bim-ui--rounding-lg);border:var(--bim-ui--border-default);box-shadow:var(--bim-ui--shadow-md)}.toast-container{position:fixed;bottom:var(--bim-ui--space-8);right:var(--bim-ui--space-4);z-index:1000;display:flex;flex-direction:column-reverse;gap:var(--bim-ui--space-2);max-width:380px}.toast{display:flex;align-items:flex-start;gap:var(--bim-ui--space-2);padding:var(--bim-ui--space-3) var(--bim-ui--space-4);background:var(--bim-ui--bg-contrast-10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--bim-ui--bg-contrast-100);border-radius:var(--bim-ui--rounding-base);border:var(--bim-ui--border-default);border-left:3px solid var(--bim-ui--color-main);box-shadow:var(--bim-ui--shadow-md);font-size:var(--bim-ui--fz-sm);line-height:var(--bim-ui--lh-normal);animation:toastSlideIn .2s ease-out;transition:opacity .2s ease,transform .2s ease}.toast.success{border-left-color:var(--bim-ui--color-success)}.toast.error{border-left-color:var(--bim-ui--color-accent)}.toast.warning{border-left-color:var(--bim-ui--color-warning)}.toast-dismiss{background:none;border:none;color:var(--bim-ui--bg-contrast-60);cursor:pointer;padding:var(--bim-ui--space-1);margin-left:auto;font-size:14px;border-radius:var(--bim-ui--rounding-xs);transition:color var(--bim-ui--transition-fast);flex-shrink:0}.toast-dismiss:hover{color:var(--bim-ui--bg-contrast-100)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.loading-overlay{position:fixed;inset:0;background:#0a0a0cd9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--bim-ui--space-4);z-index:200;animation:loadingFadeIn .3s ease-out .3s backwards}@keyframes loadingFadeIn{0%{opacity:0}to{opacity:1}}.loading-spinner{width:40px;height:40px;border:3px solid var(--bim-ui--bg-contrast-20);border-top-color:var(--bim-ui--color-main);border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-size:var(--bim-ui--fz-sm);color:var(--bim-ui--bg-contrast-60);font-weight:var(--bim-ui--fw-medium)}.skeleton{background:linear-gradient(90deg,var(--bim-ui--bg-contrast-10) 0%,var(--bim-ui--bg-contrast-20) 50%,var(--bim-ui--bg-contrast-10) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--bim-ui--rounding-xs)}.skeleton-text{height:12px;margin-bottom:var(--bim-ui--space-2)}.skeleton-text:last-child{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bim-ui--bg-contrast-40);border-radius:3px}*{scrollbar-width:thin;scrollbar-color:var(--bim-ui--bg-contrast-40) transparent}.measurement-label{position:absolute;background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100);padding:4px 8px;border-radius:4px;font-size:12px;pointer-events:none;white-space:nowrap}bim-button::part(tooltip){background:var(--bim-ui--bg-contrast-20);border:1px solid var(--bim-ui--bg-contrast-40);border-radius:6px;padding:8px 12px;box-shadow:0 4px 12px #0000004d}bim-table{width:100%;font-size:var(--bim-ui--fz-sm)}bim-table::part(row){border-bottom:1px solid var(--bim-ui--bg-contrast-20);transition:background var(--bim-ui--transition-fast)}bim-table::part(row):hover{background:#3b82f60a}bim-table::part(header-row){background:var(--bim-ui--bg-contrast-10);font-weight:var(--bim-ui--fw-semibold);font-size:var(--bim-ui--fz-xs);text-transform:uppercase;letter-spacing:.3px}#classifications-tree{padding:8px}#classifications-tree ul{list-style:none;padding-left:16px}#classifications-tree li{padding:4px 0;cursor:pointer;transition:color .15s ease}#classifications-tree li:hover{color:var(--bim-ui--color-main)}#models-list{padding:8px}.element-selected{outline:2px solid var(--bim-ui--color-main);outline-offset:-2px}@media(max-width:1280px){bim-toolbars-container{top:16px;padding:6px 8px}bim-button[label]{--bim-button--label-size: 0}bim-toolbar-section{padding-right:8px;margin-right:8px}#btn-bcf-export,#btn-bcf-import,#btn-shortcuts,#btn-export{display:none}bim-toolbar-group{display:none}.slide-panels{width:280px}.properties-overlay{width:300px}}@media(max-width:1024px){.slide-panels{width:280px}.properties-overlay{width:320px}bim-toolbar-section[label]:before{font-size:9px}}@media(max-width:768px){bim-toolbar-section[label]:before{display:none}bim-button[label]{--bim-button--label-size: 0}bim-toolbar-group{display:none}#status-bar{font-size:11px;gap:12px;padding:0 8px;height:28px}.slide-panels{width:260px}.properties-overlay{width:280px}#icon-sidebar{width:50px}#icon-sidebar.sidebar-expanded{width:180px}.sidebar-icon{height:48px;padding:0 10px}.sidebar-icon iconify-icon{font-size:24px}#app{grid-template-columns:50px 1fr}.slide-panels{left:50px}.toolbar-btn-primary span{display:none}.toolbar-btn-primary{padding:8px 12px}}@media(max-width:600px){html,body{overflow-x:hidden!important;max-width:100vw!important}#app{grid-template-areas:"header header" "main main" "icon-sidebar icon-sidebar"!important;grid-template-rows:auto 1fr 56px!important;grid-template-columns:1fr!important;max-width:100vw!important;overflow-x:hidden!important}bim-toolbars-container{position:absolute!important;top:0!important;left:0!important;right:0!important;transform:none!important;width:100%!important;max-width:100vw!important;border-radius:0 0 14px 14px!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:4px 8px!important}bim-toolbar{flex-shrink:0!important;min-width:max-content!important;max-width:none!important;flex-wrap:nowrap!important;overflow-x:visible!important;padding:4px!important;gap:8px!important}bim-toolbar-section{flex-shrink:0!important}bim-toolbar-section bim-button{min-width:44px!important;padding:6px!important}bim-toolbar-section bim-button::part(label){display:none!important}.explode-control,#explode-slider-popup{display:none!important}.selection-context-bar{max-width:calc(100vw - 16px)!important;left:8px!important;right:8px!important;width:auto!important}.context-bar-center{flex-wrap:wrap!important;justify-content:center!important}#viewport{top:56px!important;bottom:56px!important;height:auto!important;max-width:100vw!important;overflow:hidden!important}main{max-width:100vw!important;overflow:hidden!important}#icon-sidebar,#icon-sidebar.sidebar-collapsed,#icon-sidebar.sidebar-expanded{grid-area:icon-sidebar!important;flex-direction:row!important;width:100%!important;height:56px!important;padding:4px 8px!important;border-right:none!important;border-top:1px solid var(--bim-ui--bg-contrast-20)!important;overflow-x:auto!important;overflow-y:hidden!important;justify-content:center!important;align-items:center!important;gap:0!important}.sidebar-group{flex-direction:row!important;gap:2px!important;flex-shrink:0}.sidebar-group:nth-child(3),.sidebar-group:nth-child(5){display:none!important}.sidebar-divider{width:1px!important;height:28px!important;margin:0 6px!important;flex-shrink:0}.sidebar-spacer{display:none!important}.sidebar-icon{flex-direction:column!important;height:auto!important;width:44px!important;min-width:44px!important;padding:4px 2px!important;gap:2px!important}.sidebar-icon iconify-icon{font-size:20px!important}.sidebar-label{font-size:8px!important;opacity:1!important;transform:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40px}.sidebar-badge{top:0!important;right:2px!important;min-width:14px!important;height:14px!important;font-size:8px!important}.sidebar-toggle{display:none!important}#icon-sidebar .sidebar-icon:after{display:none!important}.slide-panels{inset:auto 0 56px!important;width:100%!important;height:62vh;max-height:calc(100dvh - 120px);border-right:none!important;border-top:1px solid var(--bim-ui--bg-contrast-20);border-radius:20px 20px 0 0;transform:translateY(100%)!important;transition:transform .35s cubic-bezier(.32,.72,0,1),opacity .3s ease,visibility .3s ease!important}.slide-panels.active{transform:translateY(0)!important;opacity:1;visibility:visible}.slide-panels:before{content:"";display:block;width:36px;height:4px;background:var(--bim-ui--bg-contrast-40);border-radius:2px;margin:10px auto 0;flex-shrink:0}.slide-panel-header{padding:10px 16px 12px}.slide-panel-title{font-size:16px}.slide-panel-close{width:40px;height:40px;font-size:24px}.properties-overlay{inset:auto 0 56px!important;width:100%!important;height:55vh;max-height:calc(100dvh - 120px);border-left:none;border-top:1px solid var(--bim-ui--bg-contrast-20);border-radius:20px 20px 0 0;transform:translateY(100%)!important;transition:transform .35s cubic-bezier(.32,.72,0,1),opacity .3s ease,visibility .3s ease!important}.properties-overlay.active{transform:translateY(0)!important;opacity:1;visibility:visible}.properties-overlay:before{content:"";display:block;width:36px;height:4px;background:var(--bim-ui--bg-contrast-40);border-radius:2px;margin:10px auto 0;flex-shrink:0}.properties-overlay-header{padding:10px 16px 12px}bim-toolbars-container{padding:6px 8px}bim-toolbar{padding:4px 6px!important;gap:4px!important}bim-toolbar-section{gap:2px!important}bim-button{min-width:40px!important;min-height:40px!important}bim-toolbar-section[label=View]{display:none}bim-toolbar-section[label=File],bim-toolbar-section[label=Tools],bim-toolbar-section[label=More]{display:flex}#btn-bcf-export,#btn-bcf-import,#btn-export,#btn-shortcuts,#btn-isolate,#btn-show-all,#btn-clear-tools{display:none!important}#btn-vr,#btn-ar{display:flex!important}.toolbar-btn-primary{padding:8px 10px;font-size:12px}.toolbar-btn-primary iconify-icon{font-size:20px}.toolbar-divider-sm{display:none}#status-bar{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;position:absolute!important;pointer-events:none!important}#status-bar *{display:none!important;visibility:hidden!important}.selection-context-bar{bottom:64px;left:8px;right:8px;border-radius:12px}.context-btn{min-width:44px;min-height:44px}.loading-content{padding:20px;width:90%;max-width:320px}.loading-stages{transform:scale(.9)}.shortcuts-modal{width:95%;max-height:80vh}.shortcut-section{padding:12px}.explode-slider-popup{left:50%;transform:translate(-50%);bottom:100%;margin-bottom:8px}.ar-overlay{padding:12px}.ar-scale-controls,.ar-brightness-controls,.ar-measure-controls{gap:6px}.ar-scale-controls{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%;padding:2px 4px;justify-content:flex-start!important}.ar-scale-btn,.ar-brightness-btn,.ar-measure-btn{min-width:48px;min-height:48px}.ar-overlay.ar-touch-mode .ar-scale-btn{padding:10px 12px!important;min-width:56px!important;min-height:56px!important}.ar-overlay.ar-touch-mode .ar-scale-btn span{font-size:12px!important}.ar-overlay.ar-touch-mode .ar-action-btn{padding:14px 20px!important;min-height:50px!important;font-size:13px!important}.ar-actions{bottom:20px}}@media(max-width:600px),(hover:none)and (pointer:coarse){bim-toolbars-container{backdrop-filter:blur(8px) saturate(150%)!important;-webkit-backdrop-filter:blur(8px) saturate(150%)!important}.slide-panels,.properties-overlay{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}.panel-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#00000080!important}*{scroll-behavior:auto!important}#viewport{position:absolute!important;inset:48px 0 56px!important;width:100%!important;height:calc(100dvh - 104px)!important;overflow:hidden!important}}@media(max-width:480px){bim-toolbars-container{padding:4px 6px}bim-toolbar{padding:2px 4px!important}#btn-load-demo,#btn-ortho,#btn-isolate,#btn-show-all,#btn-clear-tools{display:none!important}#icon-sidebar{height:52px;padding:2px 4px}.sidebar-icon{width:44px;padding:4px 2px}.sidebar-icon iconify-icon{font-size:18px}.sidebar-label{font-size:8px}.slide-panels{height:70vh;bottom:52px}.properties-overlay{height:60vh;bottom:52px}.selection-context-bar{bottom:60px;padding:6px 8px}.context-bar-left,.context-bar-right{display:none}.toolbar-btn-primary{padding:6px 10px}.sidebar-group:nth-child(n+4){display:none}.sidebar-bottom{display:flex!important}}@media(max-height:500px)and (orientation:landscape){#app{grid-template-areas:"icon-sidebar header" "icon-sidebar main"!important;grid-template-rows:auto 1fr!important;grid-template-columns:52px 1fr!important}#icon-sidebar,#icon-sidebar.sidebar-collapsed,#icon-sidebar.sidebar-expanded{flex-direction:column!important;width:52px!important;height:100%!important;border-top:none!important;border-right:1px solid var(--bim-ui--bg-contrast-20)!important;overflow-y:auto!important;overflow-x:hidden!important;justify-content:flex-start!important}.sidebar-group{flex-direction:column!important}.sidebar-divider{width:auto!important;height:1px!important;margin:4px 6px!important}.sidebar-spacer{display:block!important;flex:1}.sidebar-icon{width:auto!important;flex-direction:row!important;padding:8px!important;height:40px!important}.sidebar-label{display:none!important}.slide-panels{left:52px!important;top:0!important;bottom:0!important;height:100%!important;width:280px;border-radius:0!important;border-top:none!important}.properties-overlay{top:0!important;bottom:0!important;height:100%!important;width:260px;border-radius:0!important;border-top:none!important}#status-bar{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;position:absolute!important}#status-bar *{display:none!important;visibility:hidden!important}.welcome-content{padding:20px 32px 32px;max-height:90vh;overflow-y:auto}.welcome-header{margin-bottom:16px}.welcome-logo .logo-icon{width:36px;height:36px;font-size:18px}.welcome-logo .logo-text{font-size:18px}.welcome-title{font-size:16px}.welcome-actions{flex-direction:row;margin-bottom:12px}.welcome-btn{padding:10px 16px;font-size:13px}bim-toolbar-section[label]:before{display:none}bim-button[label]{--bim-button--label-size: 0}.viewport-empty-state{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important}.empty-state-card{max-width:min(400px,90vw)!important;max-height:90vh!important;padding:24px 32px!important;overflow-y:auto!important}.empty-state-hero{margin-bottom:16px!important}.hero-icon-container{width:48px!important;height:48px!important}.hero-icon{font-size:24px!important}.hero-title{font-size:20px!important;margin-top:12px!important}.hero-subtitle{font-size:12px!important}.drop-zone-content{padding:16px!important;margin-bottom:16px!important}.empty-state-actions{gap:12px!important}.action-btn{padding:10px 16px!important}.keyboard-hint{margin-top:12px!important;font-size:11px!important}}@media(hover:none)and (pointer:coarse){.sidebar-icon{min-height:44px}bim-button{min-width:44px!important;min-height:44px!important}.slide-panel-close,.properties-overlay-close{min-width:44px;min-height:44px}#icon-sidebar.sidebar-collapsed .sidebar-icon:after{display:none!important}.sidebar-icon:active{background:var(--bim-ui--bg-contrast-40);transform:scale(.95)}bim-button:active{transform:scale(.95)}.context-btn:active{transform:scale(.9);background:var(--bim-ui--bg-contrast-40)}#viewport canvas{cursor:default}.empty-state-dropzone .dropzone-text,.empty-state-dropzone .dropzone-hint{display:none}.empty-state-dropzone:after{content:"Tap to open a file from your device";font-size:14px;font-weight:500;color:var(--bim-ui--bg-contrast-80);display:block;margin-top:4px}.empty-state-dropzone{padding:32px 24px;min-height:80px}}.measurements-panel{padding:8px}.measurement-modes{display:flex;gap:4px;margin-bottom:12px}.mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-80);font-family:inherit;cursor:pointer;transition:all .15s ease}.mode-btn:hover:not(:disabled){background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.mode-btn.active{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main);color:#fff}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-icon{font-size:18px}.mode-label{font-size:10px}.measurement-controls{margin-bottom:12px}.btn-toggle-measure{width:100%;padding:10px;background:var(--bim-ui--bg-contrast-20);border:1px solid var(--bim-ui--bg-contrast-40);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:12px;cursor:pointer;transition:all .15s ease}.btn-toggle-measure:hover{background:var(--bim-ui--bg-contrast-40)}.btn-toggle-measure.active{background:var(--bim-ui--color-success);border-color:var(--bim-ui--color-success);color:#fff}.measurement-instructions{margin-top:12px;padding:12px;background:var(--bim-ui--bg-contrast-10);border-radius:8px;border-left:3px solid var(--bim-ui--color-main)}.instruction-step{display:flex;align-items:center;gap:10px;margin-bottom:8px}.instruction-step.active{animation:pulse-step 1.5s ease-in-out infinite}@keyframes pulse-step{0%,to{opacity:1}50%{opacity:.7}}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bim-ui--color-main);color:#fff;border-radius:50%;font-size:12px;font-weight:600}.step-text{font-size:12px;color:var(--bim-ui--bg-contrast-100)}.step-text strong{color:var(--bim-ui--color-main);font-weight:600}.instruction-hint{font-size:10px;color:var(--bim-ui--bg-contrast-60);padding-left:34px}.measurement-list{margin-bottom:12px}.measurement-list-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--bim-ui--bg-contrast-20);margin-bottom:8px}.measurement-list-header span{font-size:11px;color:var(--bim-ui--bg-contrast-60)}.btn-clear-all{padding:4px 8px;background:transparent;border:1px solid var(--bim-ui--bg-contrast-40);border-radius:4px;color:var(--bim-ui--bg-contrast-80);font-size:10px;cursor:pointer;transition:all .15s ease}.btn-clear-all:hover{background:var(--bim-ui--color-accent);border-color:var(--bim-ui--color-accent);color:#fff}.measurement-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bim-ui--bg-contrast-10);border-radius:6px;margin-bottom:4px}.measurement-icon{font-size:14px}.measurement-label{flex:1;font-size:12px;color:var(--bim-ui--bg-contrast-100)}.measurement-value{font-size:var(--bim-ui--fz-sm);font-weight:var(--bim-ui--fw-semibold);color:var(--bim-ui--color-main);font-family:var(--bim-ui--ff-mono);font-variant-numeric:tabular-nums}.btn-delete-measurement{background:transparent;border:none;color:var(--bim-ui--bg-contrast-60);cursor:pointer;font-size:12px;padding:4px;border-radius:4px;transition:all .15s ease}.btn-delete-measurement:hover{background:var(--bim-ui--color-accent);color:#fff}.measurement-export{padding-top:12px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.btn-export-csv{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:12px;cursor:pointer;transition:all .15s ease}.btn-export-csv:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--bim-ui--color-main)}.measurement-empty{text-align:center;padding:24px 12px;color:var(--bim-ui--bg-contrast-60)}.measurement-empty p{margin:4px 0}.measurement-empty .hint{font-size:11px;color:var(--bim-ui--color-main)}.clipper-panel{padding:12px;display:flex;flex-direction:column;gap:14px}.clipper-controls .btn-toggle-clipper{width:100%;padding:10px 14px;display:flex;align-items:center;gap:8px;justify-content:center;background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-80);border:1px solid var(--bim-ui--border-subtle);border-radius:var(--df-radius-md);font-size:13px;font-weight:500;font-family:var(--df-ff-base);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.clipper-controls .btn-toggle-clipper svg{width:16px;height:16px;flex-shrink:0}.clipper-controls .btn-toggle-clipper:hover{background:var(--bim-ui--bg-contrast-40);border-color:var(--bim-ui--color-main);transform:translateY(-1px);box-shadow:0 2px 8px #0003}.clipper-controls .btn-toggle-clipper.active{background:var(--bim-ui--color-success);border-color:var(--bim-ui--color-success);color:#fff;box-shadow:0 0 12px #22c55e4d}.section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--bim-ui--bg-contrast-60);margin-bottom:8px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preset-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:var(--bim-ui--bg-contrast-10);border:1px solid transparent;border-radius:var(--df-radius-sm);color:var(--bim-ui--bg-contrast-60);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.preset-btn:hover{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100);border-color:var(--bim-ui--color-main);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.preset-btn:active{transform:translateY(0);box-shadow:none}.preset-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.preset-icon svg{width:18px;height:18px}.preset-label{font-size:10px;font-weight:500}.section-box-control{padding:12px;background:var(--bim-ui--bg-contrast-10);border-radius:var(--df-radius-md);border:1px solid var(--df-border)}.btn-section-box{width:100%;display:flex;align-items:center;gap:10px;justify-content:center;padding:10px;background:var(--bim-ui--bg-contrast-20);border:1px solid var(--df-border);border-radius:var(--df-radius-sm);color:var(--bim-ui--bg-contrast-80);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--df-ff-base);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-section-box svg{flex-shrink:0}.btn-section-box:hover{background:var(--bim-ui--bg-contrast-40);border-color:var(--bim-ui--color-main);transform:translateY(-1px)}.btn-section-box.active{background:linear-gradient(135deg,var(--bim-ui--color-warning),#f59e0b);border-color:transparent;color:#1a1a2e;font-weight:600;box-shadow:0 0 16px #f59e0b40}.section-box-hint{font-size:11px;color:var(--bim-ui--bg-contrast-60);text-align:center;margin-top:8px;line-height:1.4}.clipper-planes-list{display:flex;flex-direction:column;gap:6px}.planes-list-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.planes-count{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bim-ui--bg-contrast-60);display:flex;align-items:center;gap:6px}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--bim-ui--color-main);color:#fff;border-radius:9px;font-size:10px;font-weight:700;letter-spacing:0}.btn-clear-planes{padding:4px 10px;background:transparent;border:1px solid var(--df-border);border-radius:var(--df-radius-sm);color:var(--bim-ui--bg-contrast-60);font-size:11px;cursor:pointer;transition:all .15s ease}.btn-clear-planes:hover{background:#ef44441a;border-color:var(--bim-ui--color-accent);color:var(--bim-ui--color-accent)}.planes-items{display:flex;flex-direction:column;gap:4px}.plane-item{background:var(--bim-ui--bg-contrast-10);border:1px solid var(--df-border);border-radius:var(--df-radius-sm);padding:8px 10px;transition:all .2s ease;animation:fadeInUp .2s ease-out}.plane-item:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--bim-ui--border-default)}.plane-item.disabled{opacity:.45}.plane-item-header{display:flex;align-items:center;justify-content:space-between}.plane-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1}.plane-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--bim-ui--color-main);cursor:pointer}.plane-name{font-size:12px;font-weight:500;color:var(--bim-ui--bg-contrast-80)}.plane-actions{display:flex;gap:4px}.plane-actions button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--bim-ui--bg-contrast-60);cursor:pointer;transition:all .15s ease}.plane-actions button:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--df-border);color:var(--bim-ui--bg-contrast-100)}.btn-delete-plane:hover{color:var(--bim-ui--color-accent)!important;background:#ef44441a!important}.plane-offset-control{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--df-border)}.plane-offset-slider{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:var(--bim-ui--bg-contrast-20);border-radius:2px;outline:none;cursor:pointer}.plane-offset-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--bim-ui--color-main);border:2px solid var(--bim-ui--bg-contrast-10);cursor:pointer;box-shadow:0 1px 4px #0000004d;transition:transform .15s ease}.plane-offset-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.plane-offset-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--bim-ui--color-main);border:2px solid var(--bim-ui--bg-contrast-10);cursor:pointer}.plane-offset-value{font-size:10px;font-family:var(--df-ff-mono);color:var(--bim-ui--bg-contrast-60);min-width:42px;text-align:right}.clipper-empty{text-align:center;padding:32px 16px;color:var(--bim-ui--bg-contrast-60);display:flex;flex-direction:column;align-items:center}.clipper-empty p{margin:2px 0;font-size:12px}.clipper-empty .hint{font-size:11px;color:var(--bim-ui--color-main);margin-top:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.axis-indicator{position:absolute;bottom:60px;right:20px;width:100px;height:100px;pointer-events:auto;z-index:20;background:#0003;border-radius:50%;box-shadow:0 2px 8px #0003}.axis-indicator canvas{border-radius:50%}.layers-panel{display:flex;flex-direction:column;gap:8px}.layers-header{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.layers-filter select,.layers-visibility-dropdown select{width:100%;padding:6px 8px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:4px;color:var(--bim-ui--bg-contrast-100);font-size:12px;cursor:pointer}.layers-actions{display:flex;gap:4px}.layers-action-btn{width:28px;height:28px;border:none;background:var(--bim-ui--bg-contrast-10);border-radius:4px;color:var(--bim-ui--bg-contrast-80);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.layers-action-btn:hover{background:var(--bim-ui--bg-contrast-20)}.layers-search{padding:4px 0}.layers-search.hidden{display:none}.layers-search-input{width:100%;padding:var(--bim-ui--space-2);height:var(--bim-ui--btn-height-md);background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:var(--bim-ui--rounding-sm);color:var(--bim-ui--bg-contrast-100);font-size:var(--bim-ui--fz-sm);font-family:var(--bim-ui--ff-base);transition:border-color var(--bim-ui--transition-fast),box-shadow var(--bim-ui--transition-fast)}.layers-search-input:focus{outline:none;border-color:var(--bim-ui--color-main);box-shadow:0 0 0 3px #3b82f626}.layers-search-input::placeholder{color:var(--bim-ui--bg-contrast-40)}.layers-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.layer-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bim-ui--bg-contrast-10);border-radius:4px;cursor:pointer;transition:background .15s}.layer-item:hover{background:var(--bim-ui--bg-contrast-20)}.layer-item.selected{background:var(--bim-ui--color-main);color:#fff}.layer-visibility-btn{width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s}.layer-visibility-btn.visible{color:var(--bim-ui--color-main)}.layer-visibility-btn.hidden{color:var(--bim-ui--bg-contrast-40)}.layer-visibility-btn:hover{background:var(--bim-ui--bg-contrast-20)}.layer-icon{font-size:14px;width:20px;text-align:center}.layer-name{flex:1;font-size:12px;color:var(--bim-ui--bg-contrast-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-count{font-size:10px;color:var(--bim-ui--bg-contrast-60);background:var(--bim-ui--bg-contrast-10);padding:2px 6px;border-radius:10px}.layer-menu-btn{width:20px;height:20px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--bim-ui--bg-contrast-60);font-size:12px;display:flex;align-items:center;justify-content:center}.layer-menu-btn:hover{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.layer-context-menu{background:var(--bim-ui--bg-base);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;box-shadow:0 4px 12px #0000004d;overflow:hidden;min-width:120px}.layer-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--bim-ui--bg-contrast-100);font-size:12px;text-align:left;cursor:pointer}.layer-menu-item:hover{background:var(--bim-ui--color-main);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent;border-radius:3px}::-webkit-scrollbar-thumb{background:var(--bim-ui--bg-contrast-40);border-radius:3px;border:1px solid transparent}::-webkit-scrollbar-thumb:hover{background:var(--bim-ui--bg-contrast-60)}.empty-state{text-align:center;padding:var(--bim-ui--space-5) var(--bim-ui--space-4);color:var(--bim-ui--bg-contrast-60);font-size:var(--bim-ui--fz-sm);line-height:var(--bim-ui--lh-normal)}.empty-state-icon{font-size:28px;margin-bottom:var(--bim-ui--space-3);opacity:.4;color:var(--bim-ui--bg-contrast-40)}.empty-state-title{font-size:var(--bim-ui--fz-base);font-weight:var(--bim-ui--fw-medium);color:var(--bim-ui--bg-contrast-80);margin-bottom:var(--bim-ui--space-1)}.empty-state-description{font-size:var(--bim-ui--fz-sm);color:var(--bim-ui--bg-contrast-60);margin-bottom:var(--bim-ui--space-3)}.hint{color:var(--bim-ui--color-main);font-size:var(--bim-ui--fz-xs);margin-top:var(--bim-ui--space-2);font-weight:var(--bim-ui--fw-medium)}*:focus-visible{outline:2px solid var(--bim-ui--color-main);outline-offset:2px;border-radius:var(--bim-ui--rounding-xs)}*:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:var(--bim-ui--space-4);padding:var(--bim-ui--space-2) var(--bim-ui--space-4);background:var(--bim-ui--color-main);color:#fff;font-size:var(--bim-ui--fz-sm);font-weight:var(--bim-ui--fw-semibold);border-radius:var(--bim-ui--rounding-sm);z-index:99999;transition:top var(--bim-ui--transition-fast)}.skip-link:focus{top:var(--bim-ui--space-4)}.kbd{display:inline-block;padding:2px 6px;background:var(--bim-ui--bg-contrast-20);border:1px solid var(--bim-ui--bg-contrast-40);border-radius:var(--bim-ui--rounding-xs);font-family:var(--bim-ui--ff-mono);font-size:var(--bim-ui--fz-2xs);font-weight:var(--bim-ui--fw-medium);color:var(--bim-ui--bg-contrast-80);box-shadow:0 1px 0 var(--bim-ui--bg-contrast-40);line-height:1.4}#icon-sidebar,.icon-rail{display:flex;flex-direction:column;align-items:center;padding:8px 0;width:48px;height:calc(100vh - 24px);height:calc(100dvh - 24px);position:absolute;top:12px;left:12px;z-index:100;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-float);overflow:hidden;transition:opacity var(--df-transition-normal)}.installer-hidden{opacity:0!important;pointer-events:none!important;transition:opacity var(--df-transition-fast)!important}.rail-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:8px;flex-shrink:0}.rail-group{display:flex;flex-direction:column;align-items:center;gap:2px}.rail-separator{width:20px;height:1px;background:var(--df-border);margin:6px 0;flex-shrink:0}.rail-spacer{flex:1;min-height:12px}.rail-icon,.sidebar-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--df-radius-sm);cursor:pointer;transition:background var(--df-transition-fast),color var(--df-transition-fast);position:relative}.rail-icon iconify-icon{font-size:20px;color:var(--df-text-muted);transition:color var(--df-transition-fast)}.rail-icon:hover{background:#ffffff0f}.rail-icon:hover iconify-icon{color:var(--df-text-primary)}.rail-icon.active{background:var(--df-accent-glow);animation:pulseGlow 2s ease-in-out infinite}.rail-icon.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--df-accent);border-radius:1px;transition:width .3s cubic-bezier(.4,0,.2,1)}.rail-icon.active:hover:before{width:3px}.rail-icon.active iconify-icon{color:var(--df-accent);transition:color .3s cubic-bezier(.4,0,.2,1)}.rail-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;background:var(--df-accent);border-radius:7px;font-size:9px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.rail-badge:empty,.rail-badge[data-count="0"]{display:none}.sidebar-badge,.sidebar-label{display:none}.rail-icon:after{content:attr(title);position:absolute;left:calc(100% + 8px);padding:5px 10px;background:var(--df-bg-elevated);border:1px solid var(--df-border-hover);border-radius:var(--df-radius-sm);font-size:11px;font-weight:500;color:var(--df-text-primary);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--df-transition-fast);transition-delay:.3s;z-index:1000;box-shadow:var(--df-shadow-float)}.rail-icon:hover:after{opacity:1;visibility:visible}.view-controls{position:absolute;top:12px;right:12px;z-index:100;display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--df-radius-pill)}.vc-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:transparent;border:none;border-radius:var(--df-radius-sm);color:var(--df-text-muted);font-size:11px;font-weight:600;font-family:var(--df-ff-base);cursor:pointer;transition:background var(--df-transition-fast),color var(--df-transition-fast);letter-spacing:-.01em}.vc-btn iconify-icon{font-size:16px}.vc-btn:hover{background:#ffffff14;color:var(--df-text-primary)}.vc-btn.active{background:var(--df-accent-glow);color:var(--df-accent)}.vc-divider{width:1px;height:16px;background:var(--df-border);margin:0 2px}.cmd-palette{position:fixed;inset:0;z-index:2000;display:none;align-items:flex-start;justify-content:center;padding-top:20vh;background:#00000080}.cmd-palette.open{display:flex}.cmd-palette-dialog{width:520px;max-width:calc(100vw - 40px);max-height:60vh;background:var(--df-bg-surface);border:var(--df-glass-border);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-deep);overflow:hidden;animation:cmdPaletteIn .15s ease-out}@keyframes cmdPaletteIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-palette-input{width:100%;padding:16px 20px;background:transparent;border:none;border-bottom:1px solid var(--df-border);color:var(--df-text-primary);font-size:16px;font-family:var(--df-ff-base);outline:none}.cmd-palette-input::placeholder{color:var(--df-text-muted)}.cmd-palette-list{max-height:calc(60vh - 60px);overflow-y:auto;padding:4px}.cmd-palette-recent-header{padding:8px 16px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--df-text-muted)}.cmd-palette-item{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:var(--df-radius-sm);cursor:pointer;transition:background var(--df-transition-fast)}.cmd-palette-item:hover,.cmd-palette-item.selected{background:#ffffff0f}.cmd-palette-icon{font-size:18px;color:var(--df-text-muted);flex-shrink:0}.cmd-palette-label{flex:1;font-size:13px;color:var(--df-text-primary)}.cmd-palette-shortcut{font-size:11px;font-family:var(--df-ff-mono);color:var(--df-text-muted);padding:2px 6px;background:var(--df-bg-elevated);border-radius:4px}.slide-panels{position:absolute;top:12px;left:72px;bottom:12px;max-height:calc(100dvh - 24px);width:320px;background:var(--df-glass);backdrop-filter:var(--df-glass-blur);-webkit-backdrop-filter:var(--df-glass-blur);border:var(--df-glass-border);border-radius:var(--df-radius-lg);box-shadow:var(--bim-ui--shadow-lg);z-index:1000;display:flex;flex-direction:column;transform:translate(-12px);opacity:0;transition:transform var(--bim-ui--transition-normal),opacity var(--bim-ui--transition-normal),visibility var(--bim-ui--transition-normal);visibility:hidden;overflow:hidden;pointer-events:none}.slide-panels.active{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}.slide-panel{display:none;flex-direction:column;height:100%;overflow:hidden}.slide-panel.active{display:flex}.slide-panel-header{padding:var(--bim-ui--space-3) var(--bim-ui--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:var(--bim-ui--border-default);flex-shrink:0;min-height:44px}.slide-panel-title{font-family:var(--bim-ui--ff-header);font-size:var(--bim-ui--fz-lg);font-weight:var(--bim-ui--fw-semibold);color:var(--bim-ui--bg-contrast-100);letter-spacing:-.01em;line-height:var(--bim-ui--lh-tight)}.slide-panel-close{width:var(--bim-ui--btn-height-sm);height:var(--bim-ui--btn-height-sm);display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--bim-ui--rounding-sm);color:var(--bim-ui--bg-contrast-60);font-size:14px;cursor:pointer;transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast);flex-shrink:0}.slide-panel-close:hover{background:#f43f5e1a;color:var(--bim-ui--color-accent)}.slide-panel-close:focus-visible{box-shadow:var(--bim-ui--shadow-glow)}.slide-panel-content{flex:1;overflow-y:auto;padding:var(--bim-ui--space-3)}.properties-overlay{position:absolute;top:var(--bim-ui--space-4);right:var(--bim-ui--space-4);bottom:var(--bim-ui--space-3);max-height:calc(100dvh - 24px);width:360px;background:var(--bim-ui--gradient-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:var(--bim-ui--border-default);border-radius:var(--bim-ui--rounding-xl);box-shadow:var(--bim-ui--shadow-lg);z-index:1000;display:flex;flex-direction:column;transform:translate(12px);opacity:0;transition:transform var(--bim-ui--transition-normal),opacity var(--bim-ui--transition-normal),visibility var(--bim-ui--transition-normal);visibility:hidden;pointer-events:none}.properties-overlay.active{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}.properties-overlay-header{padding:var(--bim-ui--space-3) var(--bim-ui--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:var(--bim-ui--border-default);min-height:44px;flex-shrink:0}.properties-overlay-title{font-family:var(--bim-ui--ff-header);font-size:var(--bim-ui--fz-lg);font-weight:var(--bim-ui--fw-semibold);color:var(--bim-ui--bg-contrast-100);letter-spacing:-.01em;line-height:var(--bim-ui--lh-tight)}.properties-overlay-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--bim-ui--rounding-sm);color:var(--bim-ui--bg-contrast-60);font-size:13px;cursor:pointer;transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast)}.properties-overlay-btn:hover{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.properties-overlay-close{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--bim-ui--rounding-sm);color:var(--bim-ui--bg-contrast-60);font-size:16px;cursor:pointer;transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast)}.properties-overlay-close:hover{background:#f43f5e1a;color:var(--bim-ui--color-accent)}.properties-overlay-content{flex:1;overflow-y:auto;padding:12px}.selection-context-bar{position:absolute;bottom:56px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bim-ui--gradient-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--bim-ui--border-default);border-radius:var(--bim-ui--rounding-lg);box-shadow:var(--bim-ui--shadow-md);z-index:80;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.selection-context-bar.hidden{opacity:0;visibility:hidden;transform:translate(-50%) translateY(8px);pointer-events:none}.context-bar-left,.context-bar-right{display:flex;align-items:center}.context-bar-center{display:flex;align-items:center;gap:2px;padding:0 8px;border-left:var(--bim-ui--border-subtle);border-right:var(--bim-ui--border-subtle)}.context-selection-count{font-size:var(--bim-ui--fz-sm);font-weight:600;color:var(--bim-ui--color-main);padding:3px 10px;background:var(--bim-ui--color-main-subtle);border-radius:var(--bim-ui--rounding-xs)}.context-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--bim-ui--rounding-sm);cursor:pointer;transition:background var(--bim-ui--transition-fast)}.context-btn .icon{font-size:15px}.context-btn:hover{background:var(--bim-ui--bg-contrast-20)}.context-btn:active{background:var(--bim-ui--bg-contrast-40)}#ctx-btn-deselect:hover{background:#f43f5e1f}.icon-btn-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn-label input[type=file]{display:none}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bim-ui--bg-contrast-10);border-radius:var(--bim-ui--rounding-base);font-size:16px;transition:all var(--bim-ui--transition-fast)}.icon-btn:hover{background:var(--bim-ui--bg-contrast-20);transform:translateY(-1px)}bim-toolbar-section:after{display:none!important}#main-toolbar{padding:8px 16px;gap:4px}bim-toolbar-section{padding-right:14px;margin-right:14px;gap:6px}#main-toolbar bim-button{--bim-button--label-display: none;min-width:44px;min-height:44px;padding:8px;border-radius:10px;position:relative}#main-toolbar bim-button::part(label){display:none!important}#main-toolbar bim-button::part(icon){font-size:24px}#main-toolbar bim-button:hover{--bim-button--label-display: block}bim-toolbar-group{gap:4px}.toolbar-btn-primary{padding:10px 18px;font-size:14px;font-weight:600}.toolbar-btn-primary iconify-icon{font-size:22px}#viewport{position:relative;overflow:hidden}.steel-dashboard{padding:8px}.steel-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.steel-stat-card{flex:1;min-width:90px;display:flex;align-items:center;gap:10px;padding:12px;background:var(--bim-ui--bg-contrast-10);border-radius:8px;transition:all .15s ease}.steel-stat-card:hover{background:var(--bim-ui--bg-contrast-20)}.steel-stat-card.primary{background:linear-gradient(135deg,#58a6ff26,#a371f726);border:1px solid rgba(88,166,255,.3)}.steel-stat-card .stat-icon{font-size:24px}.steel-stat-card .stat-content{display:flex;flex-direction:column}.steel-stat-card .stat-value{font-size:var(--bim-ui--fz-xl);font-weight:var(--bim-ui--fw-bold);color:var(--bim-ui--color-main);font-variant-numeric:tabular-nums;line-height:var(--bim-ui--lh-tight)}.steel-stat-card .stat-label{font-size:var(--bim-ui--fz-2xs);color:var(--bim-ui--bg-contrast-60);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--bim-ui--fw-medium)}.steel-stat-card .stat-sub{font-size:9px;color:var(--bim-ui--bg-contrast-60);margin-top:2px;font-variant-numeric:tabular-nums}.steel-actions{display:flex;gap:4px;margin-bottom:16px}.btn-steel-action{flex:1;padding:10px 8px;background:var(--bim-ui--bg-contrast-10);border:1px solid var(--bim-ui--bg-contrast-20);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-family:inherit;font-size:11px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-steel-action:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--bim-ui--color-main)}.btn-steel-action:active{transform:scale(.98)}.steel-breakdown{background:var(--bim-ui--bg-contrast-10);border-radius:8px;padding:12px}.steel-breakdown h4{font-size:12px;font-weight:600;color:var(--bim-ui--bg-contrast-80);margin-bottom:12px}.breakdown-row{margin-bottom:8px}.breakdown-row:last-child{margin-bottom:0}.breakdown-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.breakdown-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1}.breakdown-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--bim-ui--color-main)}.breakdown-stats{display:flex;align-items:center;gap:12px}.breakdown-weight{font-size:10px;color:var(--bim-ui--bg-contrast-60);background:var(--bim-ui--bg-contrast-20);padding:2px 6px;border-radius:4px}.steel-bar{background:linear-gradient(90deg,#ff9500,#ff6b00)!important}.no-steel-message{text-align:center;padding:20px;color:var(--bim-ui--bg-contrast-60)}.no-steel-message p{margin:4px 0}.no-steel-message .hint{font-size:11px;color:var(--bim-ui--color-main)}.modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity var(--bim-ui--transition-normal)}.modal-overlay.hidden{display:none}.modal-content{background:var(--bim-ui--bg-contrast-10);border:var(--bim-ui--border-strong);border-radius:var(--bim-ui--rounding-xl);box-shadow:var(--bim-ui--shadow-lg);max-width:480px;width:90%;max-height:80vh;overflow:hidden;animation:modalSlideIn .15s ease-out;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{transform:translateY(-16px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bim-ui--space-4) var(--bim-ui--space-5);border-bottom:var(--bim-ui--border-default);flex-shrink:0}.modal-header h2{margin:0;font-size:var(--bim-ui--fz-lg);font-weight:var(--bim-ui--fw-semibold);color:var(--bim-ui--bg-contrast-100);letter-spacing:-.01em;line-height:var(--bim-ui--lh-tight)}.modal-close{background:none;border:none;color:var(--bim-ui--bg-contrast-60);font-size:18px;cursor:pointer;padding:0;width:var(--bim-ui--btn-height-sm);height:var(--bim-ui--btn-height-sm);display:flex;align-items:center;justify-content:center;border-radius:var(--bim-ui--rounding-sm);transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast);flex-shrink:0}.modal-close:hover{background:#f43f5e1a;color:var(--bim-ui--color-accent)}.modal-close:focus-visible{box-shadow:var(--bim-ui--shadow-glow)}.modal-body{padding:var(--bim-ui--space-5);overflow-y:auto;max-height:60vh}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--bim-ui--space-2);padding:var(--bim-ui--space-3) var(--bim-ui--space-5);border-top:var(--bim-ui--border-subtle);flex-shrink:0}.shortcuts-modal .shortcut-section{margin-bottom:20px}.shortcuts-modal .shortcut-section:last-child{margin-bottom:0}.shortcuts-modal .shortcut-section h3{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--bim-ui--color-main)}.shortcuts-modal .shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--bim-ui--bg-contrast-20)}.shortcuts-modal .shortcut-row:last-child{border-bottom:none}.shortcuts-modal kbd{display:inline-block;padding:3px 8px;font-family:var(--bim-ui--ff-mono);font-size:var(--bim-ui--fz-xs);font-weight:500;color:var(--bim-ui--bg-contrast-100);background:var(--bim-ui--bg-contrast-20);border:var(--bim-ui--border-strong);border-radius:var(--bim-ui--rounding-xs);box-shadow:0 1px 0 var(--bim-ui--bg-contrast-40);min-width:24px;text-align:center}.shortcuts-modal .shortcut-row span{color:var(--bim-ui--bg-contrast-80);font-size:13px}.recent-files-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.recent-files-title{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--bim-ui--bg-contrast-60)}.recent-files-list{display:flex;flex-direction:column;gap:4px}.recent-file-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:var(--bim-ui--border-subtle);border-radius:var(--bim-ui--rounding-sm);cursor:pointer;transition:background var(--bim-ui--transition-fast),border-color var(--bim-ui--transition-fast)}.recent-file-item:hover{background:var(--bim-ui--bg-contrast-10);border-color:var(--bim-ui--color-main)}.recent-file-icon{font-size:20px;flex-shrink:0}.recent-file-info{flex:1;min-width:0;overflow:hidden}.recent-file-name{font-size:13px;font-weight:500;color:var(--bim-ui--bg-contrast-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-file-meta{font-size:11px;color:var(--bim-ui--bg-contrast-60);margin-top:2px}.loading-overlay{position:fixed;inset:0;background:#0d1117e6;display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(8px);transition:opacity var(--bim-ui--transition-normal)}.loading-overlay.hidden{display:none}.loading-content{text-align:center;padding:40px}.loading-spinner{width:40px;height:40px;border:3px solid var(--bim-ui--bg-contrast-20);border-top-color:var(--bim-ui--color-main);border-radius:50%;margin:0 auto 20px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:var(--bim-ui--fz-lg);font-weight:500;color:var(--bim-ui--bg-contrast-100);margin-bottom:16px;letter-spacing:-.01em}.loading-progress-bar{width:280px;height:6px;background:var(--bim-ui--bg-contrast-20);border-radius:3px;margin:0 auto 16px;overflow:hidden}.loading-progress-fill{height:100%;width:0%;background:var(--bim-ui--color-main);border-radius:3px;transition:width .3s ease}.loading-progress-fill.indeterminate{width:30%;animation:indeterminateProgress 1.5s ease-in-out infinite}@keyframes indeterminateProgress{0%{transform:translate(-100%)}to{transform:translate(400%)}}.loading-subtext{font-size:13px;color:var(--bim-ui--bg-contrast-60)}.welcome-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;pointer-events:none}.welcome-overlay.visible{opacity:1;pointer-events:auto}.welcome-overlay.hiding{opacity:0;pointer-events:none}.welcome-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.welcome-content{position:relative;background:#141923f2;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:48px 56px;max-width:480px;width:90%;box-shadow:0 32px 64px #00000080;transform:scale(.9) translateY(30px);transition:transform .4s cubic-bezier(.16,1,.3,1)}.welcome-overlay.visible .welcome-content{transform:scale(1) translateY(0)}.welcome-header{text-align:center;margin-bottom:40px}.welcome-logo{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:20px}.welcome-logo .logo-icon{width:48px;height:48px;background:var(--bim-ui--color-main);border-radius:var(--bim-ui--rounding-lg);display:flex;align-items:center;justify-content:center;font-size:24px}.welcome-logo .logo-text{font-size:24px;font-weight:700;color:var(--bim-ui--bg-contrast-100)}.welcome-title{font-size:22px;font-weight:600;color:#fff;margin-bottom:8px}.welcome-subtitle{font-size:14px;color:#ffffff80}.welcome-features,.welcome-shortcuts{display:none}.welcome-actions{display:flex;flex-direction:row;gap:12px;margin-bottom:24px}.welcome-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;border:none;border-radius:14px;font-size:15px;font-weight:600;font-family:var(--bim-ui--ff-base);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.welcome-btn .btn-icon{font-size:20px}.welcome-btn.primary{background:var(--bim-ui--gradient-primary);color:#fff;box-shadow:0 8px 24px #58a6ff59}.welcome-btn.primary:hover{transform:translateY(-3px);box-shadow:0 12px 32px #58a6ff73}.welcome-btn.secondary{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.15)}.welcome-btn.secondary:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.welcome-btn.tertiary{flex:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:transparent;color:#fff6;padding:8px 16px;font-size:13px;font-weight:500}.welcome-btn.tertiary:hover{color:#ffffffb3}.welcome-checkbox{display:none}@media(max-width:600px){.welcome-content{padding:32px 24px 48px;max-width:95%;border-radius:20px;margin:16px}.welcome-header{margin-bottom:28px}.welcome-logo{gap:10px;margin-bottom:16px}.welcome-logo .logo-icon{width:44px;height:44px;border-radius:12px;font-size:22px}.welcome-logo .logo-text{font-size:22px}.welcome-title{font-size:18px}.welcome-subtitle{font-size:13px}.welcome-actions{flex-direction:column;gap:10px}.welcome-btn{padding:14px 20px;font-size:14px;border-radius:12px}.welcome-btn.tertiary{position:relative;bottom:auto;left:auto;transform:none;margin-top:8px}}@media(max-width:480px){.welcome-content{padding:24px 20px 40px;border-radius:16px}.welcome-logo .logo-icon{width:40px;height:40px;font-size:20px}.welcome-logo .logo-text{font-size:20px}.welcome-title{font-size:16px}.welcome-btn{padding:12px 16px;font-size:13px}}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;min-height:180px}.empty-state-icon{font-size:36px;margin-bottom:12px;opacity:.5}.empty-state-title{font-size:var(--bim-ui--fz-base);font-weight:600;color:var(--bim-ui--bg-contrast-80);margin-bottom:6px}.empty-state-description{font-size:var(--bim-ui--fz-sm);color:var(--bim-ui--bg-contrast-60);margin-bottom:16px;max-width:220px;line-height:1.5}.empty-state-action{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bim-ui--color-main);border:none;border-radius:var(--bim-ui--rounding-sm);color:#fff;font-size:var(--bim-ui--fz-sm);font-weight:500;font-family:var(--bim-ui--ff-base);cursor:pointer;transition:background var(--bim-ui--transition-fast)}.empty-state-action:hover{background:var(--bim-ui--color-main-hover)}.empty-state-hint{margin-top:12px;font-size:var(--bim-ui--fz-xs);color:var(--bim-ui--bg-contrast-60)}.empty-state-hint kbd{display:inline-block;padding:1px 5px;background:var(--bim-ui--bg-contrast-20);border-radius:var(--bim-ui--rounding-xs);font-size:10px;font-family:var(--bim-ui--ff-mono);color:var(--bim-ui--color-main)}.loading-stages{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px}.loading-stage{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.4;transition:all .3s ease}.loading-stage.active{opacity:1}.loading-stage.completed{opacity:.8}.loading-stage-dot{width:12px;height:12px;border-radius:50%;background:var(--bim-ui--bg-contrast-40);transition:all .3s ease}.loading-stage.active .loading-stage-dot{background:var(--bim-ui--color-main);box-shadow:0 0 10px var(--bim-ui--color-main);animation:stagePulse 1s ease-in-out infinite}.loading-stage.completed .loading-stage-dot{background:var(--bim-ui--color-success)}@keyframes stagePulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.loading-stage-label{font-size:10px;color:var(--bim-ui--bg-contrast-60);text-transform:uppercase;letter-spacing:.5px}.loading-stage.active .loading-stage-label{color:var(--bim-ui--color-main)}.loading-stage.completed .loading-stage-label{color:var(--bim-ui--color-success)}.loading-stage-connector{width:24px;height:2px;background:var(--bim-ui--bg-contrast-40);margin-bottom:18px}.loading-stage-connector.completed{background:var(--bim-ui--color-success)}.explode-control{position:relative;display:inline-flex}.explode-slider-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;background:var(--bim-ui--bg-contrast-10);border:var(--bim-ui--border-strong);border-radius:var(--bim-ui--rounding-lg);padding:14px;min-width:190px;box-shadow:var(--bim-ui--shadow-md);z-index:1000;opacity:1;visibility:visible;transition:opacity .15s ease,visibility .15s ease}.explode-slider-popup.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%) translateY(-10px)}.explode-slider-popup label{display:block;font-size:12px;color:var(--bim-ui--bg-contrast-80);margin-bottom:12px;text-align:center}.explode-slider-popup label span{color:var(--bim-ui--color-main);font-weight:600;font-family:Monaco,Menlo,monospace}.explode-slider-popup input[type=range]{width:100%;height:6px;background:var(--bim-ui--bg-contrast-20);border-radius:3px;appearance:none;-webkit-appearance:none;outline:none;margin-bottom:12px}.explode-slider-popup input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;background:var(--bim-ui--gradient-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #58a6ff66;transition:transform .15s ease}.explode-slider-popup input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.explode-slider-popup input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--bim-ui--gradient-primary);border-radius:50%;cursor:pointer;border:none}.explode-actions{display:flex;gap:8px}.explode-actions button{flex:1;padding:8px 12px;background:var(--bim-ui--bg-contrast-20);border:1px solid var(--bim-ui--bg-contrast-40);border-radius:6px;color:var(--bim-ui--bg-contrast-100);font-size:12px;font-family:var(--bim-ui--ff-base);cursor:pointer;transition:all .15s ease}.explode-actions button:hover{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main)}.explode-actions button:active{transform:scale(.97)}#btn-explode.active{background:var(--bim-ui--color-main-subtle)!important;color:var(--bim-ui--color-main)!important}.sidebar-badge{position:absolute;top:3px;right:3px;background:var(--bim-ui--color-main);color:#fff;font-size:9px;font-weight:600;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;opacity:0;transform:scale(.8);transition:opacity .15s ease,transform .15s ease}.sidebar-icon:hover .sidebar-badge,.sidebar-badge:not(:empty){opacity:1;transform:scale(1)}.sidebar-badge[data-count="0"],.sidebar-badge:empty{opacity:0!important}.federation-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;border-bottom:1px solid var(--bim-ui--bg-contrast-20);margin-bottom:12px}.federation-title{font-size:var(--bim-ui--fz-xs);font-weight:600;color:var(--bim-ui--bg-contrast-60);text-transform:uppercase;letter-spacing:.8px}.federation-add-btn{width:26px;height:26px;background:transparent;border:var(--bim-ui--border-strong);border-radius:var(--bim-ui--rounding-sm);color:var(--bim-ui--bg-contrast-80);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast)}.federation-add-btn:hover{background:var(--bim-ui--color-main);border-color:var(--bim-ui--color-main);color:#fff}.models-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:4px}.model-card{background:transparent;border:var(--bim-ui--border-subtle);border-radius:var(--bim-ui--rounding-base);overflow:hidden;transition:border-color var(--bim-ui--transition-fast)}.model-card:hover{border-color:#ffffff1f}.model-card-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--bim-ui--bg-contrast-10);border-bottom:var(--bim-ui--border-subtle)}.model-discipline{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.model-discipline iconify-icon{font-size:14px}.model-remove-btn{width:24px;height:24px;background:transparent;border:none;color:var(--bim-ui--bg-contrast-60);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.model-remove-btn:hover{background:var(--bim-ui--color-accent);color:#fff}.model-card-body{padding:12px}.model-name{font-size:13px;font-weight:500;color:var(--bim-ui--bg-contrast-100);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-stats{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--bim-ui--bg-contrast-60);margin-bottom:12px}.model-stats span{display:flex;align-items:center;gap:4px}.model-stats iconify-icon{font-size:12px}.model-controls{display:flex;flex-direction:column;gap:10px}.model-visibility{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--bim-ui--bg-contrast-80);cursor:pointer}.model-visibility input[type=checkbox]{width:16px;height:16px;accent-color:var(--bim-ui--color-main);cursor:pointer}.model-visibility iconify-icon{font-size:16px;color:var(--bim-ui--color-main)}.model-opacity{display:flex;flex-direction:column;gap:6px}.model-opacity label{font-size:11px;color:var(--bim-ui--bg-contrast-60)}.model-opacity input[type=range]{width:100%;height:4px;background:var(--bim-ui--bg-contrast-20);border-radius:2px;appearance:none;-webkit-appearance:none;outline:none}.model-opacity input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;background:var(--bim-ui--color-main);border-radius:50%;cursor:pointer;transition:transform .15s ease}.model-opacity input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.model-opacity input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--bim-ui--color-main);border-radius:50%;cursor:pointer;border:none}.federation-actions{display:flex;gap:6px;margin-top:12px;padding-top:10px;border-top:var(--bim-ui--border-subtle)}.federation-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:transparent;border:var(--bim-ui--border-default);border-radius:var(--bim-ui--rounding-sm);color:var(--bim-ui--bg-contrast-80);font-size:var(--bim-ui--fz-xs);font-family:var(--bim-ui--ff-base);cursor:pointer;transition:background var(--bim-ui--transition-fast),color var(--bim-ui--transition-fast)}.federation-action-btn iconify-icon{font-size:13px}.federation-action-btn:hover{background:var(--bim-ui--bg-contrast-20);color:var(--bim-ui--bg-contrast-100)}.federation-action-btn:active{background:var(--bim-ui--bg-contrast-40)}.viewport-empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;transition:opacity .3s ease,visibility .3s ease}.viewport-empty-state.hidden{opacity:0;visibility:hidden;pointer-events:none}.empty-state-card{pointer-events:auto;background:#0e0e11e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--bim-ui--rounding-xl);padding:40px 48px;max-width:440px;text-align:center;box-shadow:var(--bim-ui--shadow-lg);border:var(--bim-ui--border-default);animation:cardFloat .3s ease-out}@keyframes cardFloat{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.empty-state-hero{margin-bottom:32px}.hero-icon-container{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--bim-ui--color-main);border-radius:var(--bim-ui--rounding-xl);margin-bottom:16px}.hero-icon{font-size:32px;color:#fff}.hero-title{font-size:20px;font-weight:600;color:var(--bim-ui--bg-contrast-100);margin-bottom:6px;letter-spacing:-.02em}.hero-subtitle{font-size:14px;color:var(--bim-ui--bg-contrast-60);font-weight:400}.empty-state-dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 32px;border:2px dashed var(--bim-ui--bg-contrast-40);border-radius:12px;margin-bottom:24px;cursor:pointer;transition:all .2s ease}.empty-state-dropzone:hover{border-color:var(--bim-ui--color-main);background:#58a6ff0d}.empty-state-dropzone.drag-over{border-color:var(--bim-ui--color-main);background:#58a6ff1f;transform:scale(1.02);box-shadow:0 0 20px #58a6ff33}.dropzone-icon{font-size:32px;color:var(--bim-ui--bg-contrast-60);transition:color .2s ease}.empty-state-dropzone:hover .dropzone-icon,.empty-state-dropzone.drag-over .dropzone-icon{color:var(--bim-ui--color-main)}.dropzone-text{font-size:14px;font-weight:500;color:var(--bim-ui--bg-contrast-80)}.dropzone-hint{font-size:12px;color:var(--bim-ui--bg-contrast-60)}.empty-state-actions{display:flex;gap:12px;justify-content:center;margin-bottom:28px}.empty-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:var(--bim-ui--ff-base);cursor:pointer;transition:all .2s ease}.empty-btn iconify-icon{font-size:18px}.empty-btn.primary{background:var(--bim-ui--gradient-primary);color:#fff;box-shadow:0 4px 16px #58a6ff4d}.empty-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #58a6ff66}.empty-btn.secondary{background:var(--bim-ui--bg-contrast-10);color:var(--bim-ui--bg-contrast-100);border:1px solid var(--bim-ui--bg-contrast-20)}.empty-btn.secondary:hover{background:var(--bim-ui--bg-contrast-20);border-color:var(--bim-ui--bg-contrast-40)}.empty-btn:active{transform:scale(.97)}.empty-state-recent{padding-top:24px;border-top:1px solid var(--bim-ui--bg-contrast-20)}.recent-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:600;color:var(--bim-ui--bg-contrast-60);text-transform:uppercase;letter-spacing:.5px}.recent-header iconify-icon{font-size:14px}.recent-list{display:flex;flex-direction:column;gap:8px}.recent-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bim-ui--bg-contrast-10);border-radius:8px;cursor:pointer;transition:all .15s ease}.recent-item:hover{background:var(--bim-ui--bg-contrast-20)}.recent-item iconify-icon{font-size:18px;color:var(--bim-ui--color-main);flex-shrink:0}.recent-name{flex:1;font-size:13px;color:var(--bim-ui--bg-contrast-100);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-date{font-size:11px;color:var(--bim-ui--bg-contrast-60);flex-shrink:0}.empty-state-tips{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:12px;color:var(--bim-ui--bg-contrast-60)}.empty-state-tips iconify-icon{font-size:14px}.empty-state-tips kbd{display:inline-block;padding:3px 8px;background:var(--bim-ui--bg-contrast-20);border-radius:5px;font-size:11px;font-family:Monaco,Menlo,monospace;color:var(--bim-ui--color-main);border:1px solid var(--bim-ui--bg-contrast-40)}.ar-fallback-btn{display:flex;justify-content:center;pointer-events:auto}.ar-fallback-btn.hidden{display:none}.ar-fallback-btn button{padding:14px 28px;background:#58a6ffe6;color:#fff;font-size:16px;font-weight:700;border:none;border-radius:32px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 24px #58a6ff99;animation:fallbackPulse 2s ease-in-out infinite}@keyframes fallbackPulse{0%,to{box-shadow:0 0 16px #58a6ff80}50%{box-shadow:0 0 32px #58a6ffe6}}@media(max-width:600px){.viewport-empty-state{top:56px!important;bottom:56px!important;height:auto!important;align-items:flex-start;padding-top:16px;overflow-y:auto}.empty-state-card{max-width:calc(100vw - 24px)!important;width:100%;padding:24px 20px!important;border-radius:16px!important;margin:0 auto}.empty-state-hero{margin-bottom:20px!important}.hero-icon-container{width:56px!important;height:56px!important;border-radius:14px!important;margin-bottom:14px!important}.hero-icon{font-size:28px!important}.hero-title{font-size:20px!important;letter-spacing:-.3px!important}.hero-subtitle{font-size:13px!important}.empty-state-dropzone{padding:20px 16px!important;margin-bottom:16px!important;gap:6px!important}.dropzone-icon{font-size:28px!important}.empty-state-actions{flex-direction:row!important;gap:10px!important;margin-bottom:16px!important}.empty-btn{flex:1;padding:14px 12px!important;font-size:13px!important;justify-content:center}.empty-btn iconify-icon{font-size:20px!important}.empty-state-recent{padding-top:14px!important}.empty-state-tips{display:none!important}}@media(max-width:480px){.empty-state-actions{flex-direction:column!important}}
