/* HYLLA IFC Viewer */
.tool-title{font-size:clamp(1.8rem,3.2vw,3.35rem);line-height:1.13;}
    .ifc-page .hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);}
    .ifc-wide-container{width:min(calc(100vw - 2rem),1900px);margin:0 auto;}
    .ifc-loader-section{padding-bottom:2.2rem;}
    .ifc-viewer-section{padding-top:2rem;}
    .ifc-fullscreen-shell{background:var(--bg);border-radius:28px;padding:1rem;border:1px solid var(--line);box-shadow:var(--shadow-soft);}
    .ifc-fullscreen-shell:fullscreen{width:100vw;height:100vh;max-width:none;margin:0;padding:1rem;background:var(--bg);overflow:hidden;border-radius:0;}
    .ifc-fullscreen-shell:fullscreen .ifc-workspace{height:calc(100vh - 118px);max-height:none;}
    .ifc-fullscreen-shell:fullscreen .ifc-workspace-toolbar{position:relative;z-index:2;}
    .ifc-workspace-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:flex-start;margin-bottom:1rem;}
    .ifc-workspace-toolbar .pill-link,.ifc-workspace-toolbar .button{min-height:42px;padding:.62rem 1rem;border:0;cursor:pointer;font:inherit;}

    .ifc-load-mode-label{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:.42rem .75rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:750;}
    .ifc-load-mode-label select{min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.35rem .7rem;font:inherit;font-weight:650;color:var(--ink);}
    .ifc-workspace{display:grid;grid-template-columns:minmax(280px,360px) minmax(680px,1fr) minmax(300px,390px);gap:1rem;align-items:stretch;min-height:620px;height:clamp(640px,76vh,980px);transition:grid-template-columns .2s ease;}
    .ifc-workspace.left-collapsed{grid-template-columns:56px minmax(680px,1fr) minmax(300px,390px);}
    .ifc-workspace.right-collapsed{grid-template-columns:minmax(280px,360px) minmax(680px,1fr) 56px;}
    .ifc-workspace.left-collapsed.right-collapsed{grid-template-columns:56px minmax(720px,1fr) 56px;}
    .ifc-panel{min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;}
    .ifc-panel-header{padding:1rem 1rem .8rem;border-bottom:1px solid var(--line);background:#fff;}
    .ifc-panel-header h3{margin:0;font-size:1.05rem;}
    .ifc-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;}
    .ifc-panel-title-row h3{margin:0;}
    .ifc-side-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand);font-weight:850;cursor:pointer;line-height:1;flex:0 0 auto;}
    .ifc-side-toggle-icon:hover{background:#f4f8fb;border-color:#b9cadb;text-decoration:none;}
    .ifc-side-panel.collapsed{cursor:pointer;}
    .ifc-panel-body{padding:1rem;overflow:auto;min-height:0;}
    .ifc-side-panel.collapsed .ifc-panel-body{display:none;}
    .ifc-side-panel.collapsed .ifc-panel-header{height:100%;display:flex;align-items:center;justify-content:center;padding:.65rem;border-bottom:0;cursor:pointer;}
    .ifc-side-panel.collapsed .ifc-panel-title-row{height:100%;justify-content:center;}
    .ifc-side-panel.collapsed .ifc-side-toggle-icon{display:none;}
    .ifc-side-panel.collapsed .ifc-panel-header h3{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:.95rem;margin:0;}
    .ifc-side-panel.collapsed .ifc-tree-tools{display:none;}
    .ifc-view-panel{min-width:0;min-height:0;}
    .ifc-viewport{position:relative;flex:1;min-height:0;height:100%;background:linear-gradient(180deg,#f8fbfd,#edf3f8);border-radius:0 0 var(--radius) var(--radius);overflow:hidden;}
    .ifc-viewport canvas{display:block;width:100%;height:100%;outline:none;}
    .ifc-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem;}
    .ifc-toolbar .pill-link,.ifc-toolbar .button{min-height:42px;padding:.62rem 1rem;border:0;cursor:pointer;font:inherit;}

    .ifc-view-buttons{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;}
    .ifc-view-buttons .pill-link{min-height:38px;padding:.52rem .78rem;font-size:.92rem;}
    .ifc-toolbar .pill-link[aria-pressed="true"],.ifc-workspace-toolbar .pill-link[aria-pressed="true"]{background:var(--brand);color:#fff;border-color:var(--brand);}
    .ifc-drop-zone{border:2px dashed #b9cadb;border-radius:22px;padding:1.2rem;background:#fff;display:grid;gap:.8rem;align-items:center;justify-items:start;}
    .ifc-drop-zone.drag-over{border-color:var(--brand);background:#f4f9fd;}
    .ifc-file-line{color:var(--ink-soft);font-weight:650;overflow-wrap:anywhere;}
    .ifc-status{margin-top:1rem;padding:.8rem 1rem;border-radius:16px;background:var(--bg);border:1px solid var(--line);color:var(--ink-soft);font-weight:650;}
    .ifc-status[data-kind="ok"]{background:#eef9f1;color:#14532d;border-color:#bbebc7;}
    .ifc-status[data-kind="warn"]{background:#fff8e7;color:#7a4d00;border-color:#f3d488;}
    .ifc-status[data-kind="error"]{background:#fff0f0;color:#8a1f1f;border-color:#efbbbb;}
    .ifc-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:1rem;margin-top:1rem;}
    .tool-result-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--shadow-soft);}
    .tool-result-item span{display:block;color:var(--ink-soft);font-size:.9rem;font-weight:700;}
    .tool-result-item strong{display:block;font-size:1.3rem;}
    .ifc-tree-tools{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem;}
    .ifc-tree-tools input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:14px;padding:.65rem .8rem;font:inherit;}
    .ifc-tree-group{margin:.25rem 0;}
    .ifc-tree-group>summary{cursor:pointer;font-weight:750;color:var(--ink);padding:.25rem;border-radius:10px;}
    .ifc-tree-group>summary:hover{background:#f4f8fb;}
    .ifc-tree-item{display:block;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:.38rem .45rem;border-radius:10px;font:inherit;font-size:.92rem;line-height:1.35;cursor:pointer;overflow-wrap:anywhere;}
    .ifc-tree-item:hover,.ifc-tree-item.selected{background:#e8f1f9;color:var(--brand-dark);text-decoration:none;}
    .ifc-tree-button{margin:.12rem 0;}
    .ifc-tree-more{padding:.3rem .6rem;}
    .ifc-prop-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:.5rem 0 1rem;}
    .ifc-prop-table th,.ifc-prop-table td{border-bottom:1px solid var(--line);padding:.45rem .35rem;vertical-align:top;text-align:left;}
    .ifc-prop-table th{width:38%;color:var(--ink-soft);font-weight:750;}
    .ifc-prop-set{margin:.7rem 0;border:1px solid var(--line);border-radius:14px;padding:.65rem;background:#fff;}
    .ifc-prop-set summary{cursor:pointer;font-weight:750;color:var(--brand);}
    .ifc-raw pre{white-space:pre-wrap;word-break:break-word;background:#f6f8fa;border:1px solid var(--line);border-radius:12px;padding:.7rem;font-size:.82rem;}
    .ifc-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;}
    .ifc-help-grid .panel{padding:1.2rem;}
    .ifc-cdn-note{font-size:.92rem;color:var(--ink-soft);}
    body.ifc-popout-mode .site-header,body.ifc-popout-mode .hero,body.ifc-popout-mode #ifc-viewer,body.ifc-popout-mode .ifc-help-grid,body.ifc-popout-mode .site-footer{display:none!important;}
    body.ifc-popout-mode main,body.ifc-popout-mode .section{padding:0;margin:0;}
    body.ifc-popout-mode .ifc-wide-container{width:100vw;margin:0;}
    body.ifc-popout-mode .ifc-fullscreen-shell{height:100vh;border:0;border-radius:0;padding:.75rem;box-shadow:none;}
    body.ifc-popout-mode .ifc-workspace{height:calc(100vh - 118px);max-height:none;min-height:0;}
    @media (max-width:1180px){.ifc-workspace{grid-template-columns:1fr;min-height:0;height:auto;}.ifc-workspace.left-collapsed,.ifc-workspace.right-collapsed,.ifc-workspace.left-collapsed.right-collapsed{grid-template-columns:1fr}.ifc-side-panel.collapsed .ifc-panel-body{display:block}.ifc-side-panel.collapsed .ifc-panel-header{height:auto;display:block;padding:1rem;border-bottom:1px solid var(--line)}.ifc-side-panel.collapsed .ifc-panel-header h3{writing-mode:initial;transform:none}.ifc-side-panel.collapsed .ifc-panel-title-row{height:auto;justify-content:space-between}.ifc-side-panel.collapsed .ifc-side-toggle-icon{display:inline-flex}.ifc-side-panel.collapsed .ifc-tree-tools{display:flex}.ifc-view-panel{height:560px}.ifc-viewport{min-height:480px}.ifc-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
    @media (max-width:760px){.ifc-page .hero-inner{grid-template-columns:1fr}.ifc-stats,.ifc-help-grid{grid-template-columns:1fr}.ifc-toolbar .pill-link,.ifc-toolbar .button,.ifc-workspace-toolbar .pill-link,.ifc-workspace-toolbar .button,.ifc-load-mode-label{width:100%;}.ifc-view-panel{height:480px}.ifc-viewport{min-height:420px}}
