/* Bivar's model desk. Existing site tokens and native controls carry the UI. */
[data-app=ifc-viewer]{--ifc-paper:#f1f4ef}
.ifc-shell{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ifc-shell [hidden]{display:none!important}
.ifc-shell h2{font-size:15px;letter-spacing:normal;line-height:1.4;text-wrap:balance}
.ifc-shell p{text-wrap:pretty}
.ifc-desk{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:620px}
.ifc-sidebar{display:flex;flex-direction:column;min-width:0;height:620px;overflow:hidden;border-right:1px solid var(--line);background:#fcfdfb}
.ifc-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--line);padding:5px 8px 0;gap:2px}
.ifc-tab{flex:1;min-width:0;min-height:42px;padding:9px 4px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:12px}
.ifc-tab[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:650}
.ifc-tab:hover{background:var(--soft)}
.ifc-panel,.ifc-tools{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.ifc-panel-note{margin:0;padding:24px 20px;font-size:12px;line-height:1.8}
.ifc-files-section{padding:24px 20px}.ifc-section-title{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:18px}
.ifc-section-title h2 span{display:inline-flex;align-items:center;justify-content:center;min-width:21px;min-height:21px;margin-left:5px;border-radius:7px;background:var(--soft);font-size:11px;font-variant-numeric:tabular-nums;color:var(--green)}
.ifc-local{display:flex;align-items:center;gap:4px;color:var(--green);font-size:8px;font-weight:650}.ifc-local .icon{width:12px;height:12px}
.ifc-soft-note{font-size:12px;line-height:1.8;margin:0}.ifc-file-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ifc-file-row{display:flex;align-items:center;gap:8px}.ifc-file-name{flex:1;min-width:0}.ifc-file-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;line-height:1.6}.ifc-file-name span{display:block;font-size:10px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}
.ifc-file-color{width:18px;height:22px;display:block;flex-shrink:0}.ifc-file-color input{width:18px;height:22px;min-height:0;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}.ifc-file-color input::-webkit-color-swatch-wrapper{padding:3px 0}.ifc-file-color input::-webkit-color-swatch{border:0;border-radius:4px}
.ifc-remove{display:flex;align-items:center;justify-content:center;background:none;border:0;min-width:28px;min-height:32px;padding:4px;color:var(--muted)}.ifc-remove:hover{color:var(--orange);background:var(--soft)}.ifc-remove .icon{width:14px;height:14px}
.ifc-file-eye{position:relative;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:32px;cursor:pointer}.ifc-file-eye input{position:absolute;inset:0;opacity:0;cursor:pointer}.ifc-file-eye .icon{width:14px;height:14px;color:var(--green)}.ifc-file-eye:has(input:not(:checked)) .icon{color:#b5beb7}.ifc-file-eye:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px;border-radius:4px}
.ifc-file-error .ifc-file-name span{color:#9a352b}.ifc-tools{border:0;padding:0;margin:0;min-width:0}.ifc-tools>section{padding:20px;border-top:1px solid var(--line)}.ifc-tools>section:first-of-type{border-top:0}#ifc-image{margin-top:18px}.ifc-tools:disabled{opacity:.5}.ifc-label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);margin-top:15px}.ifc-label select,.ifc-label input:not([type=range]){width:100%;min-width:0;min-height:39px;padding:8px 10px;border-radius:8px;font-size:12px;color:var(--ink)}
.ifc-legend{display:grid;gap:8px;margin-top:16px;font-size:11px;max-height:190px;overflow:auto}.ifc-legend>div{display:flex;align-items:center;gap:8px}.ifc-legend i{width:9px;height:9px;border-radius:3px;flex-shrink:0}.ifc-legend span{overflow-wrap:anywhere;min-width:0;flex:1}.ifc-legend b{font-size:10px;color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}
.ifc-small-pages{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.ifc-small-pages .icon-button{min-width:30px;min-height:30px;font-size:12px}
.ifc-details{padding:18px 20px;border-top:1px solid var(--line)}.ifc-filter-note{padding-top:10px;overflow-wrap:anywhere;font-size:11px}.ifc-filter-note p{margin:8px 0}.ifc-details .text-link{font-size:11px;margin-top:18px}.ifc-check{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:18px}.ifc-label input[type=range]{min-height:28px;padding:0;accent-color:var(--green)}
.ifc-sidebar-footer{flex-shrink:0;padding:22px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.8}.ifc-sidebar-footer>.icon{width:13px;height:13px;margin-right:4px;color:var(--green)}.ifc-sidebar-footer a{display:block;color:var(--green);margin-top:5px;text-decoration:underline;text-underline-offset:3px}
.ifc-stage{position:relative;min-width:0;min-height:620px;background:var(--ifc-paper);overflow:hidden}.ifc-stage canvas{width:100%;height:620px;display:block;touch-action:none;outline-offset:-5px}
.ifc-empty{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:620px;padding:20px;text-align:center}.ifc-pavilion{width:218px;margin-top:-12px}.ifc-pavilion svg{display:block;width:100%;height:164px}.ifc-empty>.eyebrow{font-size:8px;margin:13px 0 12px}.ifc-empty h2{font-size:34px;line-height:1.13;letter-spacing:normal}.ifc-empty p{font-size:13px;line-height:1.8;margin:16px 0 22px}.ifc-empty>.button{font-size:12px;min-height:43px;border-radius:9px}.ifc-empty>.text-link{font-size:11px;margin-top:17px}.ifc-empty .text-link .icon{width:13px;height:13px}.ifc-sample-note{font-size:9px;color:var(--muted);margin-top:7px}
.ifc-sticker{position:absolute;right:36px;top:30px;border:1px solid #d3dfca;border-radius:9px;padding:9px 13px;color:#6d8469;background:#e8efdf;transform:rotate(8deg);font-size:12px}.ifc-sticker span{margin-left:14px}
.ifc-view-controls{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.ifc-view-controls>div{display:flex;gap:3px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 3px #0000000d;pointer-events:auto}.ifc-view-controls .icon-button{background:transparent;border:0;border-radius:6px;font-size:11px;min-height:34px;min-width:36px;padding:7px 10px}.ifc-view-controls .icon-button:hover{background:var(--soft)}.ifc-view-controls .icon{width:14px;height:14px}
.ifc-stage-note{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;gap:14px;font-size:9px;color:var(--muted);pointer-events:none}.ifc-drop-overlay{position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;gap:12px;border:2px dashed var(--green);background:#f1f6ecf5;border-radius:12px;z-index:2;color:var(--green);font-size:18px;pointer-events:none}
.ifc-message{overflow-wrap:anywhere}
.ifc-inspector{padding:20px;border-bottom:1px solid var(--line)}.ifc-inspector-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.ifc-inspector-heading>div{min-width:0}.ifc-inspector-heading h2{font-size:18px;margin:6px 0;overflow-wrap:anywhere}.ifc-inspector-heading p{font-size:10px;margin:0;overflow-wrap:anywhere}.ifc-inspector-heading .eyebrow{font-size:9px}.ifc-inspector-heading>.icon-button{flex-shrink:0;min-width:32px;min-height:32px}.ifc-value-note{margin:16px 0;font-size:10px;line-height:1.7}.ifc-property-group{border-top:1px solid var(--line);padding:12px 0}.ifc-property-group>summary{cursor:pointer;font-size:12px;font-weight:550;overflow-wrap:anywhere}.ifc-property-group>summary>span{float:right;font-size:10px;font-weight:400;color:var(--muted);margin-left:8px;font-variant-numeric:tabular-nums}.ifc-properties{margin:8px 0 0}.ifc-properties>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:11px;overflow-wrap:anywhere}.ifc-properties>div:has(.ifc-property-filter){grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:6px}.ifc-property-filter{min-width:28px;min-height:28px;padding:5px}.ifc-property-filter .icon{width:13px;height:13px}.ifc-properties dt{color:var(--muted)}.ifc-properties dd{margin:0;font-variant-numeric:tabular-nums}
.ifc-recovery{position:absolute;top:76px;left:18px;right:18px;display:flex;align-items:flex-start;gap:8px;pointer-events:none}.ifc-recovery>span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;background:var(--ifc-paper);padding:4px 0}.ifc-recovery .button{pointer-events:auto;min-height:34px;padding:7px 10px;font-size:11px;white-space:nowrap}
.ifc-cut-popup{position:absolute;z-index:1;min-height:40px;border-radius:9px;box-shadow:0 2px 8px #0000001a;font-size:12px;white-space:nowrap}
.ifc-cut-handle{position:absolute;z-index:1;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--green);border-radius:50%;background:var(--surface);color:var(--green);box-shadow:0 2px 8px #0000001a;cursor:grab;touch-action:none;user-select:none}.ifc-cut-handle.is-dragging{cursor:grabbing;background:var(--soft)}.ifc-cut-handle .icon{width:23px;height:23px;pointer-events:none}
.ifc-cut-controls{width:280px}.ifc-cut-position{display:flex;align-items:center;gap:10px;flex-basis:100%;font-size:11px;color:var(--muted)}.ifc-cut-position input{flex:1;width:130px;min-width:0;min-height:28px;padding:0;accent-color:var(--green)}
.ifc-cut-controls{position:absolute;bottom:48px;left:18px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:calc(100% - 36px);padding:7px 9px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 3px #0000000d;font-size:11px}.ifc-cut-controls>span{color:var(--muted)}.ifc-cut-controls .button{font-size:11px;padding:7px 9px}

@media(max-width:1050px){.ifc-desk{grid-template-columns:250px minmax(0,1fr)}.ifc-stage-note{flex-direction:column;gap:4px}.ifc-view-controls .icon-button{min-width:30px;padding:7px}}
@media(max-width:700px){
.ifc-desk{display:flex;flex-direction:column;min-height:0}.ifc-stage{order:0}.ifc-sidebar{order:1;border-right:0;border-top:1px solid var(--line);height:360px;max-height:360px}
.ifc-files-section{padding:16px}.ifc-section-title{margin-bottom:12px}.ifc-soft-note{font-size:11px}.ifc-tools>section{padding:16px}.ifc-sidebar-footer{display:none}
.ifc-stage,.ifc-stage canvas{min-height:440px;height:440px}.ifc-empty{min-height:500px}.ifc-stage:has(.ifc-empty:not([hidden])){min-height:500px;height:auto}.ifc-empty h2{font-size:29px}.ifc-pavilion{width:190px}.ifc-sticker{right:22px;top:22px}
.ifc-view-controls{top:12px;left:12px;right:12px}.ifc-recovery{top:68px;left:12px;right:12px;gap:5px}.ifc-recovery>span{font-size:10px}.ifc-recovery .button{padding:7px;font-size:10px}
.ifc-stage-note{font-size:8px;left:14px}.ifc-inspector{padding:18px}.ifc-file-name strong{font-size:13px}.ifc-file-name span{font-size:11px}.ifc-label{font-size:12px}.ifc-cut-controls{bottom:55px}.ifc-cut-controls>span{display:none}
}
@media(max-width:380px){.ifc-view-controls .icon-button{padding:6px;min-width:27px;font-size:10px}.ifc-view-controls .icon{display:none}}
@media(prefers-reduced-motion:reduce){.ifc-shell *{scroll-behavior:auto;transition:none}}

.ifc-shell.viewer-expanded{display:flex;flex-direction:column;min-height:0;border:0;border-radius:0}
#ifc-workspace.viewer-expanded .ifc-desk{flex:1;min-height:0;overflow:auto}
#ifc-workspace.viewer-expanded .ifc-stage{min-height:0}
#ifc-workspace.viewer-expanded .ifc-stage canvas{height:100%;min-height:0}
#ifc-workspace.viewer-expanded .ifc-empty{min-height:100%}
#ifc-workspace.viewer-expanded .ifc-sidebar{height:auto;max-height:none;min-height:0}
@media(max-width:700px){#ifc-workspace.viewer-expanded .ifc-stage{height:55dvh;min-height:300px;flex-shrink:0}#ifc-workspace.viewer-expanded .ifc-sidebar{height:360px;min-height:360px;max-height:360px;flex-shrink:0}}

.ifc-tags>section{padding:18px 20px}.ifc-tag-note{font-size:11px;line-height:1.65;overflow-wrap:anywhere;color:var(--muted);margin:12px 0}.ifc-tags .button{margin:7px 4px 0 0;max-width:100%;white-space:normal}.ifc-tag-create{margin-top:16px;font-size:12px}.ifc-tag-create summary{cursor:pointer;min-height:32px}.ifc-tags textarea{width:100%;min-width:0;resize:vertical;padding:8px;font:inherit}.ifc-tag-swatch{display:flex;align-items:center;gap:8px;font-size:11px;overflow-wrap:anywhere;margin-top:8px}.ifc-tag-swatch input{width:30px;height:27px;min-height:0;padding:2px;flex-shrink:0}#ifc-tag-colors{margin-top:12px}

.ifc-custom-tags{margin:14px 0;border:1px solid var(--line);border-radius:8px;padding:10px}.ifc-custom-tags>summary{display:list-item;cursor:pointer;font-size:12px;font-weight:600;min-height:24px;list-style:revert}.ifc-custom-tags>summary span{color:var(--muted);float:right}.ifc-tag-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;font-size:11px;margin:10px 0;overflow-wrap:anywhere}.ifc-tag-row>input,.ifc-tag-row>select{min-width:0;width:100%;padding:8px 6px;font-size:11px;border-radius:6px;min-height:36px}.ifc-mixed{color:var(--muted);font-style:italic}#ifc-tags-save{margin-top:8px;min-width:72px}#ifc-tags-save:disabled{background:#e3e7e4;border-color:#d4dad6;color:#767f79;opacity:1;cursor:default}.ifc-tag-clear{font-size:11px}.ifc-custom-tags .ifc-tag-note{margin:8px 0;font-size:10px}#ifc-select-matching{margin-top:14px;width:100%}

.ifc-visibility-actions{display:grid;gap:6px;flex-shrink:0}.ifc-visibility-actions>div{display:flex;justify-content:flex-end;gap:6px}.ifc-import-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.ifc-import-heading h3{margin:0;font-size:12px}.ifc-import-heading .icon-button{min-width:32px;min-height:32px;padding:7px}.ifc-import-heading+.ifc-value-note{margin:6px 0 12px}#ifc-panel-view>section>.ifc-label:first-child{margin-top:0}

.ifc-tag-definition-actions{display:flex;align-items:stretch;gap:6px;margin-top:12px}.ifc-tags .ifc-tag-definition-actions .button{margin:0;flex:1;padding:7px 8px;font-size:11px}#ifc-tag-undo{display:block;width:100%;margin-top:16px}
