.ifc-summary-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,1fr);gap:24px;align-items:start}
.ifc-summary-data{min-width:0}.ifc-summary-data .consultation-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.ifc-preview-panel{border:1px solid var(--line,#353841);min-width:0;background:var(--panel,#1e2026)}
.ifc-preview-panel>header{display:flex;justify-content:space-between;gap:12px;padding:13px;font-size:10px;font-weight:700;color:var(--accent,#ffc400)}
.ifc-preview-panel>header small{font-size:9px;color:var(--muted,#b3b9c7)}
.ifc-preview-host{position:relative;height:310px;background:#202329;overflow:hidden}
.ifc-stage{height:100%;width:100%;min-width:0;overflow:hidden;touch-action:none;outline-offset:-3px}
.ifc-pick-face canvas{cursor:crosshair}.ifc-cut-marker{position:absolute;transform:translate(-50%,-50%);z-index:3;width:44px;height:36px;padding:0;border:2px dashed #ffc400;border-radius:4px;background:#202329e6;color:#ffc400;font-size:26px;line-height:1;cursor:grab;touch-action:none;box-shadow:0 0 0 1px #202329}.ifc-cut-marker:active{cursor:grabbing}.ifc-cut-marker:focus-visible{outline:2px solid white;outline-offset:3px}.ifc-cut-marker[hidden]{display:none}
.ifc-snap-marker{position:absolute;transform:translate(-50%,-50%);z-index:4;pointer-events:none;color:#61ffad;font:24px monospace;text-shadow:0 1px 3px #000}.ifc-snap-marker span{position:absolute;left:22px;top:4px;white-space:nowrap;padding:3px 6px;background:#202329ed;border:1px solid #61ffad;font:11px 'Roboto',sans-serif}.ifc-toolbar select[aria-label="Snap de medición"]{max-width:155px;color:#61ffad}
.ifc-georeference{border:1px solid var(--line,#353841);padding:8px;margin-bottom:14px}.ifc-georeference>summary{color:var(--accent,#ffc400);font-weight:700}.ifc-georeference button,.ifc-georeference select{width:100%;margin:5px 0;font-size:11px}.ifc-georeference button[aria-pressed=true]{border-color:#61ffad;color:#61ffad}.ifc-coordinate-result>strong{display:block;margin-top:10px}.ifc-base-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none;color:#ffca00;font:32px monospace;z-index:3;text-shadow:0 0 4px #000}.ifc-base-marker[hidden]{display:none}.ifc-base-marker span{position:absolute;left:28px;top:10px;background:#202329e8;padding:4px;font:11px sans-serif;white-space:nowrap}
.ifc-preview-host .ifc-stage{cursor:pointer}.ifc-stage canvas{display:block;max-width:100%}
.ifc-empty{display:grid;place-content:center;height:100%;margin:0;color:#bbc1cd;font-size:15px}
.ifc-model-name{font-size:12px;font-weight:700;overflow-wrap:anywhere;margin:12px 13px 4px}
.ifc-status{font-size:12px;line-height:1.5;color:var(--muted,#b3b9c7);margin:6px 13px;min-height:36px}
.ifc-status[data-error=true]{color:#ef8585}.ifc-panel-actions{display:flex;gap:8px;padding:12px;flex-wrap:wrap}.ifc-panel-actions button{font-size:10px}
.ifc-drive-info{font-size:11px;line-height:1.5;color:var(--muted,#b3b9c7);margin:8px 13px;overflow-wrap:anywhere}.ifc-drive-select{width:100%;min-width:0;font-size:11px}
.ifc-drive-editor{padding:13px;border-top:1px solid var(--line,#353841)}.ifc-drive-editor input{width:100%;box-sizing:border-box;margin-top:8px}.ifc-drive-editor button{font-size:10px;margin:8px 6px 0 0}.ifc-drive-editor .field-help{font-size:11px;line-height:1.5}
.ifc-dialog{width:96vw;max-width:1800px;height:92vh;max-height:96vh;padding:0;border:1px solid var(--line,#353841);background:var(--panel,#1e2026);color:var(--text,#fff)}
.ifc-dialog::backdrop{background:#080b12bf}.ifc-viewer-card{display:flex;flex-direction:column;height:100%;min-height:0}
.ifc-viewer-head{display:flex;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line,#353841)}
.ifc-viewer-head h2{font-size:18px;margin:0;flex:1;overflow-wrap:anywhere}.ifc-projection{font-size:10px;color:var(--accent,#ffc400);white-space:nowrap}
.ifc-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line,#353841)}.ifc-toolbar button{font-size:11px;padding:7px 10px}
.ifc-toolbar select{width:auto;font-size:11px;max-width:120px}.ifc-toolbar input[type=range]{width:85px;accent-color:var(--accent,#ffc400)}.ifc-toolbar button[aria-pressed=true]{color:var(--accent,#ffc400);border-color:var(--accent,#ffc400)}
.ifc-viewer-status{margin:0;padding:0 16px;font-size:12px;color:var(--accent,#ffc400)}.ifc-viewer-status:not(:empty){padding-top:8px;padding-bottom:8px}
.ifc-viewer-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(150px,min(var(--ifc-left,240px),30%)) 8px minmax(200px,1fr) 8px minmax(150px,min(var(--ifc-right,280px),30%))}
.ifc-splitter{cursor:col-resize;touch-action:none;background:#292d35;position:relative;outline-offset:-2px}.ifc-splitter:hover,.ifc-splitter:focus-visible{background:var(--accent,#ffc400)}.ifc-splitter:after{content:'';position:absolute;top:45%;bottom:45%;left:3px;width:2px;background:#959ba6}
.ifc-stage{position:relative}.ifc-view-cube{position:absolute;right:12px;top:12px;width:116px;height:122px;perspective:650px;pointer-events:none;z-index:2}.ifc-cube-inner{position:absolute;left:30px;top:30px;width:56px;height:56px;transform-style:preserve-3d}.ifc-cube-face{position:absolute;inset:0;width:56px;height:56px;padding:0;border:1px solid #929bad;background:#303744;color:#fff;font:700 14px 'Roboto Mono',monospace;backface-visibility:hidden;pointer-events:auto;cursor:pointer;box-shadow:none}.ifc-cube-face[data-axis=X]{border-color:#e87777}.ifc-cube-face[data-axis=Y]{border-color:#81c99b}.ifc-cube-face[data-axis=Z]{border-color:#83baff}.ifc-cube-face:hover,.ifc-cube-face:focus-visible{background:#625321;color:#ffc400}.ifc-cube-legend{position:absolute;bottom:0;width:100%;text-align:center;font:11px 'Roboto Mono',monospace;color:#bac6d6}.ifc-properties>button{width:100%;margin-bottom:14px;font-size:11px}
.ifc-sidebar{overflow:auto;padding:14px;border-right:1px solid var(--line,#353841);font-size:12px;min-width:0}.ifc-sidebar h3{font-size:13px;margin:0 0 14px}.ifc-sidebar select{width:100%;margin-bottom:12px}
.ifc-properties{border-right:0;border-left:1px solid var(--line,#353841)}.ifc-sidebar p{line-height:1.6;color:var(--muted,#b3b9c7)}
.ifc-tree details{padding:5px 0}.ifc-tree summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.7}.ifc-tree input[type=checkbox]{width:auto;display:inline;margin:0 7px 0 0;accent-color:#ffc400}
.ifc-tree-items{padding-left:15px}.ifc-tree-items button,.ifc-tree details>button{display:block;text-align:left;border:0;font-size:11px;width:100%;padding:7px;overflow-wrap:anywhere}
.ifc-property{display:grid;grid-template-columns:minmax(70px,1fr) minmax(70px,1.2fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--line,#353841);overflow-wrap:anywhere;font-size:11px}.ifc-property span{color:var(--muted,#b3b9c7)}
.ifc-property-group{padding:8px 0 12px 10px}.ifc-properties summary{padding:8px 0;cursor:pointer;overflow-wrap:anywhere}.ifc-help{padding:10px 16px;font-size:11px;border-top:1px solid var(--line,#353841);color:var(--muted,#b3b9c7)}
@media(max-width:950px){.ifc-summary-layout{grid-template-columns:1fr}.ifc-preview-host{height:280px}.ifc-viewer-body{grid-template-columns:minmax(100px,min(var(--ifc-left,180px),40%)) 8px minmax(140px,1fr);grid-template-rows:minmax(180px,1fr) auto}.ifc-splitter-right{display:none}.ifc-properties{grid-column:1/-1;max-height:180px;border-top:1px solid var(--line,#353841)}.ifc-projection{display:none}}
@media(max-width:600px){.ifc-viewer-body{grid-template-columns:minmax(100px,min(var(--ifc-left,130px),40%)) 8px minmax(140px,1fr)}.ifc-viewer-head{padding:10px}.ifc-viewer-head h2{font-size:14px}.ifc-sidebar{padding:8px}.ifc-help{font-size:10px}.ifc-dialog{width:99vw;height:96vh}.ifc-toolbar{padding:6px}.ifc-toolbar button{font-size:10px;padding:5px}.ifc-view-cube{transform:scale(.75);transform-origin:top right}}
.ifc-model-counter{display:inline-block;margin-left:10px;padding:2px 6px;border:1px solid var(--line,#353841);font-family:var(--mono,'Roboto Mono',monospace);font-size:12px;color:var(--accent,#ffc400)}.ifc-model-counter[hidden]{display:none}
.ifc-model-arrow{margin-left:6px;padding:2px 7px;border:1px solid var(--line,#353841);background:transparent;color:var(--accent,#ffc400);font-size:16px;line-height:1;cursor:pointer}.ifc-model-arrow[hidden]{display:none}.ifc-model-arrow:disabled{opacity:.35;cursor:default}.ifc-model-arrow:focus-visible{outline:2px solid var(--accent,#ffc400);outline-offset:2px}.ifc-model-arrow+.ifc-model-counter{margin-left:6px}
