:root{--ink:#172739;--muted:#607080;--blue:#215ad6;--line:#dde3eb;--surface:#f4f6f9;--white:#fff;font-family:"Segoe UI",system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--surface)}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #74aaff;outline-offset:3px}[hidden]{display:none!important}button{border:0;border-radius:7px;background:transparent;color:inherit}.shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:#fff;padding:32px 22px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;font-size:24px;font-weight:700;letter-spacing:-.7px}.brand-icon{display:block;flex:0 0 40px;width:40px;height:40px;padding:4px;border-radius:8px;background:#f5f8fc;object-fit:contain}.project-label{font-size:12px;letter-spacing:1.5px;color:#9dafc4;margin-top:44px}.project-name{font-size:20px;font-weight:600;margin-top:7px}.sidebar-description{font-size:14px;color:#b7c6d8;margin:5px 0 36px}.history-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.history-title h2{font-size:14px;font-weight:600;margin:0;color:#c5d3e2}.history-title span{font-size:12px;border:1px solid #526174;border-radius:4px;padding:0 6px}.version-list{display:flex;flex-direction:column;gap:8px}.version{width:100%;text-align:left;display:block;padding:13px 12px;color:#c9d4e3;border:1px solid transparent}.version:hover{background:#21364d}.version.active{background:#2a4260;border-color:#55799e;color:#fff}.version strong{font-size:14px;font-weight:600;display:block;overflow-wrap:anywhere}.version small{display:block;font-size:12px;color:#b3c4d8;margin-top:5px}.version-number{font-size:12px;color:#97bde6;display:block;margin-bottom:5px}.sidebar-empty{font-size:14px;color:#a8bad0;padding:10px 0}.privacy{display:flex;align-items:center;gap:12px;border-top:1px solid #3b4d62;padding-top:20px;margin-top:auto;padding-bottom:2px}.privacy>span{font-size:25px;color:#a6c7eb}.privacy strong{display:block;font-size:14px;font-weight:500}.privacy small{color:#adbed2;font-size:12px}main{padding:38px clamp(24px,4vw,64px);min-width:0;max-width:1550px;width:100%}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:33px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}h1{font-size:32px;line-height:1.2;margin:9px 0 9px;letter-spacing:-1px}.page-header p{margin:0;color:var(--muted)}.primary{background:var(--blue);color:white;padding:11px 17px;font-weight:600;white-space:nowrap;box-shadow:0 2px 3px #1647a31a}.primary:hover{background:#1748b5}.primary span{font-size:20px;vertical-align:-1px;margin-right:5px}.secondary{border:1px solid #ccd6e2;padding:9px 13px;background:white;font-weight:500;font-size:14px}.secondary:hover{background:#edf3ff}.empty{background:#fff;border:1px solid var(--line);border-radius:12px;padding:58px 32px;text-align:center;min-height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty-mark{font-size:44px;color:var(--blue);background:#eaf0ff;width:85px;height:85px;border-radius:20px;display:grid;place-items:center;margin-bottom:20px}.empty h2{font-size:25px;margin:0 0 12px;letter-spacing:-.5px}.empty p{max-width:540px;color:var(--muted);margin:0 0 24px}.empty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.notice{padding:13px 17px;background:#eaf1ff;color:#244576;border:1px solid #bfd1f0;border-radius:8px;margin-bottom:20px;font-size:14px;overflow-wrap:anywhere}.notice.error{background:#fff0ee;border-color:#eac0bb;color:#97362c}.notice.warning{background:#fff9ed;border-color:#e9d9b4;color:#745720}.version-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:23px}.version-heading h2{margin:0;font-size:22px;font-weight:650;letter-spacing:-.4px;overflow-wrap:anywhere}.version-heading p{color:var(--muted);font-size:14px;margin:5px 0 0}.badge{border-radius:5px;font-size:12px;padding:4px 8px;background:#e4ecfa;color:#325385;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px 20px}.metric>span{display:block;font-size:14px;color:var(--muted)}.metric strong{display:block;font-size:31px;font-weight:650;margin-top:6px;letter-spacing:-1px}.metric.added{border-top:3px solid #398974}.metric.removed{border-top:3px solid #bb685b}.metric.changed{border-top:3px solid #b78a37}.metric.unchanged{border-top:3px solid #8a9ab0}.panel{border:1px solid var(--line);border-radius:11px;background:white;margin-bottom:23px;overflow:hidden}.panel-head{padding:19px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h3{font-size:17px;margin:0;font-weight:650}.panel-head .actions{display:flex;gap:8px;flex-wrap:wrap}.summary-body{padding:23px 26px}.summary-intro{font-size:19px;line-height:1.55;margin:0 0 19px;max-width:850px}.summary-lines{margin:0;padding-left:21px;display:grid;gap:8px}.summary-lines li{padding-left:5px}.summary-scope{font-size:13px;color:var(--muted);margin-top:23px;border-top:1px solid var(--line);padding-top:14px}.note{margin:0 0 23px;border-left:3px solid #91a9c9;background:#edf2f8;padding:12px 17px;white-space:pre-wrap}.note strong{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.warning-list{padding:15px 21px;background:#fff9ed;border-top:1px solid #ecdfc6;font-size:14px;color:#745720}.warning-list summary{cursor:pointer;font-weight:600}.warning-list ul{margin-bottom:0;padding-left:21px;display:grid;gap:7px}.toolbar{display:flex;justify-content:space-between;gap:15px;padding:17px 21px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:6px}.filter{padding:7px 10px;border:1px solid var(--line);font-size:14px}.filter.active{color:#174eaa;border-color:#b4c9f0;background:#edf3ff}.search{max-width:265px;min-width:180px;width:100%;font-size:14px;padding:8px 11px!important}.changes{padding:0 21px}.change{border-bottom:1px solid #e4e9ef}.change:last-child{border-bottom:0}.change>summary{cursor:pointer;display:flex;align-items:center;gap:13px;padding:17px 0;list-style:none}.change>summary::before{content:'+';color:var(--muted);font-size:20px;width:13px;flex-shrink:0}.change[open]>summary::before{content:'−'}.change-identity{flex:1;min-width:0}.change-name{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.change-location{font-size:13px;color:var(--muted)}.tag{font-size:12px;padding:3px 8px;border-radius:4px;flex-shrink:0}.tag.added{background:#e4f3ed;color:#286a54}.tag.removed{background:#faece8;color:#a04534}.tag.changed{background:#fbf0dc;color:#8a631b}.change-detail{margin:0 0 19px 26px}.guid{font-family:Consolas,monospace;font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:11px}.change-detail table,.model-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.change-detail th,.change-detail td,.model-table td,.model-table th{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid #e9edf3;overflow-wrap:anywhere}.change-detail th{font-weight:600;background:#f5f7fa;color:var(--muted)}.change-detail td:first-child{font-weight:500}.model-table th{font-weight:500}.model-table td{text-align:right}.model-table tr:last-child>*{border:0}.no-results{padding:25px;color:var(--muted);text-align:center}.more-row{padding:17px;text-align:center}.loading{padding:50px;color:var(--muted);text-align:center}.spinner{width:36px;height:36px;border:3px solid #e2e8f4;border-top-color:var(--blue);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}footer{font-size:13px;color:var(--muted);padding:2px 0 10px}footer summary{cursor:pointer}footer p{max-width:850px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;width:min(560px,calc(100% - 28px));max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 30px 90px #10243b50}dialog::backdrop{background:#14263a70;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start}.dialog-heading h2{font-size:25px;letter-spacing:-.5px;margin:5px 0 0}.icon-button{font-size:28px;color:var(--muted);line-height:1;padding:3px 8px}.dialog-heading+p{font-size:14px;color:var(--muted);margin:13px 0 21px}label{display:block;font-size:14px;font-weight:600;margin:15px 0 7px}.optional{font-weight:400;color:var(--muted);margin-left:5px}input,textarea{width:100%;border:1px solid #cbd5e0;border-radius:6px;padding:10px 12px;background:white;color:var(--ink)}textarea{resize:vertical;font-size:14px}.file-zone{border:1px dashed #93afd5;background:#f5f8fe;border-radius:9px;padding:20px;text-align:center;cursor:pointer}.file-zone:hover{background:#eaf1ff}.file-zone strong,.file-zone>span{display:block}.file-zone>span{font-size:13px;color:var(--muted);font-weight:400;overflow-wrap:anywhere}.file-zone .file-symbol{font-size:25px;color:var(--blue);margin-bottom:5px}.file-zone input{font-size:12px;margin-top:14px;padding:7px;background:#fff}.file-zone:focus-within{outline:3px solid #74aaff}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.dialog-footer>span{font-size:12px;color:var(--muted)}#upload-error{margin-top:15px;margin-bottom:0}@media(min-width:1600px){main{margin:auto}.sidebar{position:sticky;top:0;height:100vh;overflow:auto}}@media(max-width:1000px){.shell{grid-template-columns:220px minmax(0,1fr)}main{padding:30px 24px}.sidebar{padding:28px 17px}.metrics{gap:8px}.metric{padding:14px}.panel-head{padding:17px}.page-header{align-items:flex-start}.page-header h1{font-size:28px}.page-header .primary{font-size:14px}}@media(max-width:760px){.shell{display:block}.sidebar{min-height:auto;padding:20px;display:block}.brand{font-size:22px}.project-label,.sidebar-description,.history-title,.privacy{display:none}.project-name{font-size:14px;margin:10px 0}.version-list{display:flex;flex-direction:row;overflow-x:auto;margin-top:12px}.version{min-width:160px;max-width:230px}.sidebar-empty{padding:0}main{padding:25px 18px}.page-header{margin-bottom:25px}.page-header p{font-size:14px}.page-header .primary{padding:9px 12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head{align-items:flex-start}.panel-head .actions{justify-content:flex-end}.panel-head .secondary{font-size:12px;padding:7px}.summary-body{padding:20px}.summary-intro{font-size:17px}.version-heading{display:block}.version-heading .badge{display:inline-block;margin-top:10px}.search{max-width:none}.change>summary{gap:8px}.change-detail{margin-left:0}.change-detail th,.change-detail td{padding:8px 5px;font-size:12px}.empty{padding:32px 20px;min-height:360px}.empty h2{font-size:22px}.empty p{font-size:14px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.summary-prose{max-width:72ch;font-size:17px;line-height:1.75;text-wrap:pretty}.summary-prose p{margin:0 0 1.15em}.summary-prose p:last-child{margin-bottom:0}.summary-prose p:first-child{font-size:19px;line-height:1.65;color:#172739}.raw-value{margin-top:7px;color:var(--muted);font-size:12px}.raw-value summary{cursor:pointer}.raw-value pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7fa;border-radius:4px;padding:8px;font-size:11px}@media(max-width:760px){.summary-prose{font-size:16px;line-height:1.7}.summary-prose p:first-child{font-size:17px}.search{max-width:none}}
.report-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"overview audit";gap:0 22px;align-items:start}.report-layout.has-details{grid-template-areas:"overview audit" "details audit"}.report-main{grid-area:overview;min-width:0}.report-details{grid-area:details;min-width:0}.report-main .panel-head,.report-details .panel-head{flex-wrap:wrap}.classification-panel{grid-area:audit;min-width:0}.classification-panel>.panel-head{padding:18px;align-items:flex-start;gap:12px}.classification-panel h3{font-size:16px;line-height:1.4}.classification-body{padding:16px 18px}.classification-scope,.classification-note,.classification-unknown{font-size:12px;color:var(--muted);margin:0 0 14px}.classification-note{border-top:1px solid var(--line);padding-top:13px;margin:16px 0 0}.classification-unknown{color:#745720;background:#fff9ed;border-radius:5px;padding:10px;margin:14px 0 0}.classification-groups{display:grid;gap:4px;max-height:240px;overflow-y:auto;margin-bottom:15px}.classification-group{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:7px 9px;border:1px solid transparent;font-size:13px}.classification-group span{overflow-wrap:anywhere}.classification-group strong{font-size:12px;font-weight:600}.classification-group:hover{background:#f4f7fb}.classification-group.active{background:#edf3ff;color:#174eaa;border-color:#b4c9f0}.classification-search{font-size:12px;padding:9px 10px}.classification-items{max-height:510px;overflow-y:auto;margin-top:8px}.classification-message{font-size:13px;color:var(--muted);margin:0;padding:14px 0}.classification-panel>.classification-message{padding:18px}.classification-item{border-bottom:1px solid #e4e9ef}.classification-item:last-child{border:0}.classification-item>summary{list-style:none;display:flex;gap:9px;align-items:flex-start;padding:13px 2px;cursor:pointer}.classification-item>summary::-webkit-details-marker{display:none}.classification-item>summary::before{content:'+';flex:0 0 11px;color:var(--muted);line-height:1.3}.classification-item[open]>summary::before{content:'−'}.classification-item>summary>span{min-width:0}.classification-item strong,.classification-item summary span span,.classification-item small{display:block;overflow-wrap:anywhere}.classification-item strong{font-size:13px;font-weight:650}.classification-item summary span span{font-size:12px;margin-top:3px}.classification-item small{font-size:12px;color:var(--muted);margin-top:3px}.classification-item dl{font-size:12px;margin:0 0 13px 20px;overflow-wrap:anywhere}.classification-item dt{color:var(--muted);margin-top:7px}.classification-item dd{margin:1px 0 0}.classification-guid{font-family:Consolas,monospace;font-size:11px}.classification-pagination{border-top:1px solid var(--line);padding-top:13px;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:9px;justify-content:space-between;align-items:center}.classification-pagination:empty{display:none}.classification-pagination>div{display:flex;gap:5px}.classification-pagination .secondary{font-size:12px;padding:6px 8px}.classification-pagination button:disabled{cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1199px){.report-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"overview" "audit"}.report-layout.has-details{grid-template-areas:"overview" "audit" "details"}.classification-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.classification-items{max-height:430px}.classification-search{max-width:420px}}@media(max-width:440px){.classification-groups{grid-template-columns:minmax(0,1fr)}}
/* BIM type identities and compact model overview */
.bim-overview{margin-bottom:22px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;overflow:hidden}.bim-overview>summary{cursor:pointer;padding:13px 15px;font-size:14px}.bim-overview>summary strong{font-weight:600}.bim-overview>summary span{display:block;font-size:12px;color:var(--muted);margin:4px 0 0 17px}.bim-overview>p{font-size:12px;color:var(--muted);margin:0;padding:0 15px 13px}.bim-table-scroll{max-height:330px;overflow:auto;border-top:1px solid var(--line);background:#fff}.bim-table-scroll:focus-visible{outline:3px solid #74aaff;outline-offset:-3px}.bim-table{width:100%;min-width:460px;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed}.bim-table th,.bim-table td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid #e9edf3;overflow-wrap:anywhere}.bim-table th{position:sticky;top:0;background:#edf2f8;color:var(--ink);font-weight:600;z-index:1}.bim-table th:first-child{width:88px}.bim-table th:nth-child(2){width:95px}.bim-table th:last-child{width:60px}.bim-table th:last-child,.bim-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.bim-table td:nth-child(-n+2){font-variant-numeric:tabular-nums}.bim-table tbody tr:last-child td{border-bottom:0}.change-bim{display:block;margin:4px 0;font-size:13px;font-weight:500;color:#325385;overflow-wrap:anywhere}
/* Projects and their local export folders. */
.projects-section{margin:31px 0 19px;min-width:0}
.projects-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px}
.projects-heading h2{font-size:10px;letter-spacing:1.6px;font-weight:650;color:#aac3dc;margin:0}
.sidebar-icon-button{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;padding:4px;border:1px solid transparent;border-radius:7px;color:#b6cce2;background:transparent;font-size:21px;line-height:1}
.sidebar-icon-button svg{width:16px;height:16px}
.sidebar-icon-button:hover{background:#ffffff10;color:#fff;border-color:#ffffff13}
.sidebar-icon-button:focus-visible,.project-item:focus-visible{outline:2px solid #a1d1ff;outline-offset:2px}
.sidebar-icon-button:disabled{opacity:.4}
.project-list{display:grid;gap:4px;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#55708a transparent}
.project-item{width:100%;display:flex;align-items:center;gap:9px;padding:10px 9px;text-align:left;color:#c2d3e3;border:1px solid transparent;border-radius:8px;min-height:41px;background:transparent}
.project-item:hover{background:#ffffff0a;border-color:#ffffff0b}
.project-item.active{background:#a7caff16;color:#f0f7ff;border-color:#a6c8ee28}
.project-item>.ui-icon{width:16px;height:16px;color:#8eb2d5}
.project-item.active>.ui-icon{color:#a0d5ff}
.project-item-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550}
.project-item-count{font-size:10px;min-width:19px;text-align:center;color:#a4bdd5;font-variant-numeric:tabular-nums}
.active-project-details{padding:16px 3px 0}
.active-project-heading{display:flex;gap:8px;align-items:center;justify-content:space-between}
.active-project-heading .project-name{font-size:12px!important;line-height:1.5;margin:0!important;color:#d9e8f6;min-width:0;overflow-wrap:anywhere}
.project-folder{margin:5px 0 0;font-size:10px;line-height:1.65;color:#91acc5;overflow-wrap:anywhere;max-height:51px;overflow:auto;scrollbar-width:thin}
#project-breadcrumb{min-width:0;overflow-wrap:anywhere}
.project-folder-control{display:flex;align-items:stretch;gap:8px}
.project-folder-control input{min-width:0;flex:1;font-size:12px}
.project-folder-control button{flex-shrink:0;white-space:nowrap}
.project-help{font-size:11px;line-height:1.7;color:#72869b;margin:8px 0 17px}
.project-revit-note{padding:13px 15px;margin:19px 0 12px;border:1px solid #dfe8f1;border-radius:10px;background:#f5f8fc}
.project-revit-note strong,.project-models>strong{font-size:12px;font-weight:600;color:#466684}
.project-revit-note p{font-size:12px;line-height:1.7;margin:5px 0 0;color:#667e95}
.project-models{padding:3px 0 12px}
.project-models ul{padding-left:18px;margin:7px 0 0;color:#647e96;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.project-models li{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:4px 0}
.project-models li>span{min-width:0}
.project-unbind{flex-shrink:0;color:#677f98;padding:5px 8px;font-size:11px;border:1px solid #dce5ef;border-radius:6px;background:#fff}
.project-unbind:hover{background:#f3f7fc;border-color:#b8cbe0}
#project-error{margin-top:16px}
#project-dialog .dialog-footer{justify-content:space-between}
@media(max-width:760px){
  .projects-section{margin:17px 0 12px}
  .projects-heading{margin-bottom:7px}
  .project-list{display:flex;overflow-x:auto;max-height:none;gap:7px;padding-bottom:3px}
  .project-item{width:auto;flex:0 0 auto;max-width:240px;min-height:40px;padding:9px 11px}
  .project-item-name{font-size:12px}
  .active-project-details{padding:7px 0 0}
  .active-project-heading .project-name{font-size:11px!important}
  .project-folder{margin:0;max-height:34px;font-size:9px}
}
@media(max-width:420px){.project-folder-control{flex-wrap:wrap}.project-folder-control input{flex-basis:100%}.project-folder-control button{min-height:38px}.project-item{max-width:200px}}
#folder-dialog{width:min(720px,calc(100% - 28px))}
#folder-dialog>.dialog-heading+p{margin-bottom:15px}
.folder-shortcuts,.folder-shortcuts>div{display:flex;gap:6px;flex-wrap:wrap}
.folder-shortcuts .secondary{font-size:11px;padding:7px 10px}
.folder-address-row{display:flex;gap:7px;align-items:stretch}
.folder-address-row input{flex:1;min-width:0;font-size:12px}
.folder-address-row button{flex-shrink:0}
#folder-up{min-width:37px;font-size:17px}
#folder-search{font-size:12px}
.folder-current{font-size:11px;line-height:1.6;color:#5e7892;overflow-wrap:anywhere;max-height:54px;overflow:auto;margin:12px 0 6px}
.folder-status{font-size:11px;color:#788c9f;margin:6px 0 9px;min-height:18px}
.folder-list{min-height:130px;max-height:290px;overflow-y:auto;border:1px solid #dfe7ef;border-radius:9px;scrollbar-width:thin;background:#fcfdff}
.folder-list[aria-busy=true]{background:linear-gradient(110deg,#f8fafc,#f1f5fa,#f8fafc)}
.folder-list:empty{min-height:90px}
.folder-entry{display:flex;align-items:center;gap:11px;width:100%;padding:11px 14px;text-align:left;border-radius:0;background:transparent;border-bottom:1px solid #e9eef4;font-size:12px;min-height:44px;color:#3f5d7b}
.folder-entry:last-child{border-bottom:0}
.folder-entry:hover{background:#edf4ff}
.folder-entry:focus-visible{outline:2px solid #6da1e2;outline-offset:-3px;background:#edf4ff}
.folder-entry>svg{width:21px;height:21px;flex:0 0 21px;color:#6c93bb}
.folder-entry>span:not(.folder-open){min-width:0;flex:1;overflow-wrap:anywhere}
.folder-open{flex-shrink:0;color:#7a92a9;font-size:10px}
.folder-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 17px}
.folder-pagination .secondary{font-size:11px;padding:7px 10px}
#folder-page{font-size:10px;color:#71879c;text-align:center}
#folder-dialog .dialog-footer{justify-content:space-between;gap:10px;margin-top:10px}
#folder-error{font-size:12px;line-height:1.7;margin:10px 0;overflow-wrap:anywhere}
@media(max-width:760px){
  #folder-dialog{padding:20px}
  #folder-dialog .dialog-heading h2{font-size:22px}
  #folder-dialog>.dialog-heading+p{font-size:12px;line-height:1.7}
  .folder-list{max-height:28vh}
  .folder-entry{padding:10px;gap:8px}
  .folder-address-row{gap:5px}
  .folder-address-row input{padding:9px 7px;font-size:11px}
  .folder-address-row .secondary{padding:8px 10px}
  #folder-dialog .dialog-footer .primary{font-size:12px;padding:10px 12px}
}
/* Local IFC geometry viewer */
.model-panel .panel-head{padding:17px 20px}.model-panel h3{font-size:16px}.model-status{font-size:13px;min-height:47px;padding:13px 20px;color:var(--muted);background:#f8fafc;border-bottom:1px solid var(--line)}.model-status.is-error{color:#97362c;background:#fff0ee}.model-viewport{height:460px;width:100%;position:relative;background:#edf2f7;overflow:hidden}.model-viewport canvas{display:block;width:100%;height:100%;touch-action:none}.model-viewport[aria-busy="true"]::after{content:'Forbereder model…';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#566b80;background:#ffffffdb;padding:11px 18px;border:1px solid #d9e2ec;border-radius:8px;font-size:13px;pointer-events:none;white-space:nowrap}.model-controls{padding:12px 18px;display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;border-top:1px solid var(--line)}.model-controls label{font-size:13px;margin:0;display:flex;align-items:center;gap:8px;white-space:nowrap}.model-controls input{width:16px;height:16px;margin:0;accent-color:var(--blue)}.model-controls>span{font-size:11px;color:var(--muted)}.model-selection{padding:14px 18px;background:#fff5f3;border-top:1px solid #f0d7d2;overflow-wrap:anywhere}.model-selection strong,.model-selection span,.model-selection small{display:block}.model-selection strong{font-size:14px;color:#92392e}.model-selection span{font-size:13px;margin-top:3px}.model-selection small{font-size:11px;color:var(--muted);margin-top:6px}.model-warning{font-size:12px;padding:12px 18px;margin:0;background:#fff9ed;color:#745720;border-top:1px solid #ecdfc6}.model-retry{margin:12px 18px}.classification-entry{border-bottom:1px solid #e4e9ef;padding-bottom:10px}.classification-entry .classification-item{border:0}.classification-entry.is-selected{background:#fff5f3;border-radius:6px}.show-in-model{font-size:12px;font-weight:600;color:#215ad6;border:1px solid #bfd0ec;padding:6px 10px;margin-left:20px;background:#f5f8fe}.show-in-model:hover{background:#e7efff}.show-in-model span{margin-left:5px}@media(max-width:760px){.model-viewport{height:360px}.model-panel .panel-head{padding:15px}.model-controls{padding:12px}.model-status{padding:12px 15px}}
/* Six-sided section box and component colours */
.section-settings{padding:16px 18px;background:#f7f9fc;border-top:1px solid var(--line)}.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.section-heading p{font-size:12px;color:var(--muted);margin:0;max-width:410px}.section-heading label{font-size:12px;margin:0;display:flex;align-items:center;gap:7px;white-space:nowrap}.section-heading input{width:16px;height:16px;accent-color:var(--blue)}.section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:17px 0}.section-axis{border:0;padding:0;margin:0;min-width:0}.section-axis legend{font-size:12px;font-weight:650;padding:0;margin-bottom:6px}.section-face{display:grid;grid-template-columns:1fr auto;gap:5px;margin:10px 0 0;font-size:12px;font-weight:400}.section-face output{font-variant-numeric:tabular-nums;color:var(--muted)}.section-face input{grid-column:1/-1;width:100%;padding:0;height:20px;margin:0;accent-color:var(--blue);cursor:ew-resize}.section-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.section-actions .secondary{font-size:12px;padding:7px 11px}.section-actions>span{font-size:11px;color:var(--muted);margin-left:auto}.model-colors{padding:12px 18px;border-top:1px solid var(--line);font-size:12px}.model-colors>summary{cursor:pointer;font-weight:600}.model-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px}.model-legend>span{display:inline-flex;align-items:center;gap:7px;font-size:12px}.model-legend i{width:12px;height:12px;display:inline-block;border-radius:3px;border:1px solid #0002;flex-shrink:0}@media(max-width:600px){.section-grid{grid-template-columns:1fr;gap:12px}.section-axis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-axis legend{float:left;grid-column:1/-1}.section-heading{align-items:flex-start}.section-heading p{font-size:11px}.section-actions>span{width:100%;margin-left:0}}
.section-handle-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.section-handle-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.section-handle-lines line{stroke:#2867cc;stroke-width:1.5;stroke-dasharray:3 2;opacity:.8}.section-handle{--handle-color:#2867cc;position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border:2px solid var(--handle-color);border-radius:50%;background:#fffffff2;color:var(--handle-color);padding:3px;display:grid;place-items:center;pointer-events:auto;touch-action:none;cursor:grab;user-select:none;box-shadow:0 2px 7px #1c355525;transition:background .1s}.section-handle[data-axis=x]{--handle-color:#bd5149}.section-handle[data-axis=y]{--handle-color:#328264}.section-handle[data-axis=z]{--handle-color:#2867cc}.section-handle svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.section-handle span{position:absolute;top:35px;left:50%;transform:translateX(-50%);background:#fffffff2;border-radius:3px;padding:1px 4px;white-space:nowrap;color:#273b50;font-size:10px;font-weight:700;line-height:15px;pointer-events:none}.section-handle:hover,.section-handle.is-dragging{background:#e8f0ff;box-shadow:0 0 0 4px #2867cc25}.section-handle:focus-visible{outline:3px solid #172e4b;outline-offset:3px}.section-handle.is-dragging,.is-section-dragging{cursor:grabbing}.model-building-status{margin:0;padding:9px 18px;background:#edf6f1;border-top:1px solid #d6e7df;color:#37614d;font-size:12px}
/* Refined workspace: calm surfaces, clearer hierarchy and a light 3D studio. */
:root {
  --ink:#1b3048; --muted:#60758a; --blue:#3267cf; --line:#e1e8f0;
  --surface:#f3f6fa; --teal:#258c87;
  --panel-shadow:0 3px 5px #19375403,0 12px 32px #19375406;
  font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body { background:radial-gradient(ellipse at 80% 0,#e9f1fb 0,transparent 40%),var(--surface); }
::selection { background:#cbdfff; color:#173354; }
button,input,textarea,summary,a { -webkit-tap-highlight-color:transparent; }
button { transition:background .16s ease,border-color .16s ease,box-shadow .16s ease; }
button:disabled { cursor:default; }
.shell { grid-template-columns:244px minmax(0,1fr); }
.sidebar {
  background:radial-gradient(ellipse at 0 0,#294765 0,transparent 55%),linear-gradient(165deg,#192f46,#122439);
  padding:30px 20px 24px; border-right:1px solid #18314d; position:sticky;
  top:0; height:100dvh; min-height:0; overflow-y:auto;
}
.brand { font-size:25px; letter-spacing:-.9px; gap:12px; }
.brand-icon { width:43px; height:43px; flex-basis:43px; padding:5px; border-radius:12px; box-shadow:0 4px 14px #07182a30; }
.project-label { font-size:10px; font-weight:650; letter-spacing:1.8px; color:#9cb8d1; margin-top:42px; }
.project-name { font-size:18px; line-height:1.45; margin-top:10px; color:#edf5ff; }
.sidebar-description { font-size:12px; line-height:1.7; color:#a9bed3; margin:8px 0 30px; }
.history-title { border-top:1px solid #ffffff13; padding-top:24px; }
.history-title h2 { font-size:12px; font-weight:500; color:#b4c8dc; }
.history-title>span { border:0; border-radius:6px; background:#ffffff12; padding:2px 7px; color:#d8e8fa; }
.version { position:relative; border-radius:11px; padding:15px 14px; }
.version.active { background:linear-gradient(120deg,#365372a8,#2d496966); border-color:#5e84ab65; box-shadow:0 5px 18px #0d1a2a1a; }
.version.active::before { content:""; position:absolute; left:-1px; top:16px; bottom:16px; width:3px; border-radius:3px; background:#79bcfa; }
.version:hover { background:#35527180; border-color:#5e84ab50; }
.version-number { font-size:9px; font-weight:700; letter-spacing:1.3px; color:#a4cef6; margin-bottom:7px; }
.version strong { font-size:13px; line-height:1.5; font-weight:550; }
.version small { font-size:11px; color:#aac0d6; margin-top:7px; }
.privacy { border-top:1px solid #ffffff18; padding-top:20px; margin-top:auto; }
.privacy>span { width:34px; height:34px; border-radius:10px; background:#ffffff0b; text-align:center; color:#95c8e9; }
.privacy strong { font-size:12px; color:#d5e6f4; }
.privacy small { font-size:10px; color:#94aec7; }
main { padding:32px clamp(24px,2.3vw,40px); max-width:1650px; }
.page-header { margin-bottom:26px; min-height:90px; }
.eyebrow { font-size:10px; font-weight:700; letter-spacing:1.5px; display:flex; align-items:center; gap:7px; }
.status-dot { width:6px; height:6px; border-radius:50%; display:inline-block; background:#368d87; box-shadow:0 0 0 3px #368d8712; }
h1 { font-size:36px; font-weight:650; letter-spacing:-1.5px; margin:9px 0 6px; }
.title-dot { color:var(--blue); }
.page-header p { font-size:13px; color:var(--muted); }
.primary { border:1px solid #2459bd; border-radius:10px; padding:11px 17px; font-size:13px; background:linear-gradient(135deg,#427ce0,#2b60c8); box-shadow:0 4px 10px #3267cf23,inset 0 1px #ffffff24; }
.primary:hover { background:linear-gradient(135deg,#386ed0,#2357bf); box-shadow:0 6px 16px #3267cf30; }
.primary span { font-size:18px; }
.secondary { border-radius:8px; font-size:12px; padding:8px 12px; border-color:#d7e1ec; color:#3c5672; box-shadow:0 1px 2px #233d5905; }
.secondary:hover { background:#f2f7ff; border-color:#aac5e7; }
.notice { border-radius:10px; background:#edf4fd; border-color:#dce8f6; color:#456480; font-size:12px; line-height:1.65; padding:11px 15px; margin-bottom:18px; }
#inbox-status:not(.error) { background:#ffffff80; color:#61768b; border-color:#e1e8f0; box-shadow:0 1px 3px #17375403; font-size:11px; }
.notice.error { color:#973f35; background:#fff1ef; border-color:#f0d4cf; }
.notice.warning { color:#846534; background:#fdf7eb; border-color:#efe4ce; }
.version-heading { margin:23px 0 20px; align-items:center; gap:18px; }
.version-caption { display:block; color:#71859b; font-weight:650; letter-spacing:1.3px; font-size:9px; margin-bottom:6px; }
.version-heading h2 { font-size:20px; letter-spacing:-.5px; font-weight:650; }
.version-heading p { font-size:11px; line-height:1.6; margin-top:6px; overflow-wrap:anywhere; }
.badge { font-size:10px; font-weight:600; background:#eaf1fa; color:#4b6b8e; border:1px solid #dce7f5; border-radius:6px; padding:5px 8px; }
.metrics { gap:14px; margin-bottom:24px; }
.baseline-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.metric { position:relative; border-radius:13px; border:1px solid #dfe7ef; padding:18px 20px; box-shadow:var(--panel-shadow); overflow:hidden; }
.metric>span,.metric-label { font-size:12px; font-weight:500; color:#5b7188; }
.metric-label { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.metric-label .ui-icon { padding:6px; width:31px; height:31px; background:var(--metric-bg,#eef3fa); color:var(--metric-ink,#547caa); border-radius:9px; flex-shrink:0; }
.metric strong { font-size:33px; font-weight:600; line-height:1.1; letter-spacing:-1.1px; margin-top:6px; font-variant-numeric:tabular-nums; }
.metric small { display:block; font-size:10px; line-height:1.5; color:#718396; margin-top:8px; }
.metric::after { content:""; position:absolute; left:20px; right:20px; height:2px; bottom:0; background:var(--metric-ink,#537cc2); opacity:.35; }
.metric.elements { --metric-bg:#eaf1ff; --metric-ink:#376ad1; }
.metric.types { --metric-bg:#edf0fa; --metric-ink:#7866ba; }
.metric.coded { --metric-bg:#e8f5f1; --metric-ink:#278578; }
.metric.added { border-top:1px solid #dfe7ef; --metric-ink:#368d79; background:linear-gradient(115deg,#f5fcf9,#fff 75%); }
.metric.removed { border-top:1px solid #dfe7ef; --metric-ink:#c77261; background:linear-gradient(115deg,#fdf7f4,#fff 75%); }
.metric.changed { border-top:1px solid #dfe7ef; --metric-ink:#b08a47; background:linear-gradient(115deg,#fffbf2,#fff 75%); }
.metric.unchanged { border-top:1px solid #dfe7ef; --metric-ink:#6784a3; }
.report-layout { grid-template-columns:minmax(0,1fr) 280px; gap:0 22px; }
.panel { border-color:#dce5ee; border-radius:15px; box-shadow:var(--panel-shadow); margin-bottom:22px; }
.panel-head { padding:19px 22px; border-bottom-color:#e8edf3; background:linear-gradient(115deg,#fff,#fbfcfe); }
.panel-head h3 { font-size:15px; font-weight:650; letter-spacing:-.15px; }
.heading-with-icon { display:flex; align-items:center; gap:11px; }
.ui-icon { width:19px; height:19px; flex-shrink:0; vertical-align:middle; }
.panel-icon { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#4376b7; background:#edf3fc; }
.heading-with-icon p { margin:3px 0 0; font-size:11px; color:#7a8da0; }
.summary-body { padding:22px; }
.summary-prose { font-size:15px; line-height:1.8; }
.summary-prose p:first-child { font-size:18px; color:#233f5e; }
.summary-scope { font-size:11px; line-height:1.65; border-color:#e8edf3; margin:18px 0 0; }
.baseline-note { background:#ebf5f3; border-color:#d5e9e3; color:#426d64; }
.baseline-note strong { font-weight:600; }
.bim-overview { background:linear-gradient(110deg,#f0f5fb,#f9fbfd); border-color:#dce6f1; border-radius:10px; margin-bottom:14px; }
.bim-overview>summary { padding:14px; font-size:13px; color:#375e87; }
.bim-overview>summary span { font-size:11px; color:#6a8198; }
.bim-overview>p { font-size:11px; }
.model-inventory { border:1px solid #e2e8ef; border-radius:10px; overflow:hidden; }
.model-inventory>summary { padding:13px 14px; font-size:12px; font-weight:550; cursor:pointer; background:#fcfdff; }
.model-inventory[open]>summary { border-bottom:1px solid #e2e8ef; }
.model-table th,.model-table td { font-size:12px; padding:10px 14px; }
.model-table tr:hover { background:#f6f9fd; }
.model-table td { font-weight:600; color:#4c7099; font-variant-numeric:tabular-nums; }
.classification-panel>.panel-head { padding:18px; align-items:center; border-top:3px solid #d9b172; }
.classification-panel h3 { font-size:14px; font-weight:600; }
.classification-panel>.panel-head .badge { background:#fbf2e3; color:#926b32; border-color:#f0dfc0; }
.classification-body { padding:16px; }
.classification-scope { font-size:11px; line-height:1.7; }
.classification-groups { gap:5px; margin-bottom:17px; }
.classification-group { font-size:12px; padding:8px 9px; border-radius:8px; }
.classification-group strong { min-width:25px; border-radius:5px; background:#f0f4f8; padding:2px 5px; font-size:10px; text-align:center; color:#647c93; }
.classification-group.active { background:#edf4ff; border-color:#d6e5f8; color:#38699f; }
.classification-group.active strong { background:#dceafa; color:#376ea8; }
.classification-search { background:#f8fafc; border-color:#dde6ef; padding:10px 11px; border-radius:8px; font-size:11px; }
.classification-items { max-height:425px; padding-right:4px; scrollbar-width:thin; scrollbar-color:#ccd7e4 transparent; }
.classification-entry { margin-top:7px; padding:0 9px 11px; border:1px solid #e9eef4; border-radius:9px; background:#fff; }
.classification-entry:hover { border-color:#cfdfef; background:#fbfdff; }
.classification-item strong { font-size:12px; color:#3b5875; }
.classification-item summary span span { font-size:11px; line-height:1.6; color:#667d93; }
.classification-item small { font-size:10px; }
.classification-item>summary { padding:11px 0 8px; }
.show-in-model { font-size:10px; padding:5px 9px; border-radius:6px; border-color:#d6e4f6; color:#4776ad; background:#f1f6fd; margin-left:20px; }
.classification-note,.classification-unknown { font-size:10px; line-height:1.65; }
.classification-pagination { font-size:10px; }
.classification-pagination .secondary { font-size:10px; }
.classification-entry.is-selected { background:#fff5f2; border-color:#edcfc7; border-radius:9px; }
.model-panel { border-color:#d4e0ed; box-shadow:0 5px 8px #1b385805,0 15px 38px #1b38580a; }
.model-panel .panel-head { padding:17px 20px; }
.model-panel h3 { font-size:16px; }
.model-status { padding:10px 20px; min-height:38px; font-size:11px; color:#6f839a; background:#fbfcfe; border-color:#e9eff5; }
.model-viewport { height:510px; background:radial-gradient(ellipse at 45% 20%,#f0f3f5 0,#e2e8ed 60%,#cdd7e1 100%); isolation:isolate; }
.model-viewport canvas { position:relative; z-index:1; }
.section-handle-layer { z-index:3; }
.model-viewport[aria-busy="true"]::after { z-index:4; font-size:12px; border-radius:10px; box-shadow:0 6px 18px #23446410; }
.model-controls { gap:8px; padding:13px 16px 11px; border-top-color:#dce5ef; background:#fbfcfe; }
.model-controls label { font-size:11px; font-weight:550; gap:7px; padding:8px 10px; border:1px solid #dfe7f0; border-radius:8px; background:#fff; color:#536d87; cursor:pointer; transition:background .15s,border-color .15s; }
.model-controls label:hover { background:#f2f7ff; border-color:#b9cee8; }
.model-controls label:has(input:checked) { background:#eaf3ff; border-color:#b6d0ef; color:#285d9b; box-shadow:inset 0 0 0 1px #d6e8fa; }
.model-controls label:has(input:disabled) { opacity:.5; cursor:default; }
.model-controls .ui-icon { width:15px; height:15px; }
.model-controls input { width:13px; height:13px; }
.model-controls>span { width:100%; margin-top:2px; font-size:10px; color:#7a8fa4; }
.model-building-status { font-size:10px; padding:9px 17px; background:#edf7f3; color:#4d796b; border-color:#dcece6; }
.section-settings { background:#f8fafd; padding:17px; border-color:#e3eaf2; }
.section-heading p { font-size:11px; color:#73869a; max-width:440px; }
.section-heading label { font-size:11px; color:#59718a; }
.section-grid { gap:10px; margin:15px 0; }
.section-axis { padding:10px; border:1px solid #e1e8f1; border-radius:9px; background:#fff; }
.section-axis legend { padding:0 4px; margin:0; font-size:10px; color:#607c99; }
.section-face { font-size:10px; }
.section-face output { color:#7990a6; font-size:10px; }
.section-face input { height:17px; }
.section-actions .secondary { font-size:10px; padding:7px 10px; }
.section-actions>span { font-size:10px; }
.section-handle { width:34px; height:34px; border-width:1.5px; box-shadow:0 3px 10px #24405d24,0 0 0 3px #ffffff50; }
.section-handle span { top:33px; border-radius:4px; padding:2px 5px; font-size:9px; color:#48637c; box-shadow:0 1px 3px #29466608; }
.section-handle-lines line { opacity:.55; stroke-width:1.2; }
.model-colors { padding:13px 18px; border-color:#e8edf3; font-size:11px; color:#617b94; }
.model-colors>summary { font-weight:550; }
.model-legend { gap:7px; }
.model-legend>span { padding:5px 7px; background:#f7f9fc; border:1px solid #e9eef4; border-radius:5px; font-size:10px; gap:5px; }
.model-legend i { width:9px; height:9px; border-radius:2px; }
.model-warning { font-size:10px; line-height:1.6; color:#8a744f; padding:10px 18px; background:#fdf9f1; border-color:#eee4d2; }
.model-selection { background:#fff5f2; border-color:#edd7d1; }
.model-selection strong { font-size:13px; }
.model-selection span { font-size:12px; }
.model-selection small { font-size:10px; }
.warning-list { background:#fcf8ee; border-color:#eee6d5; color:#85734f; font-size:12px; }
.toolbar { background:#fcfdff; }
.filter { font-size:12px; border-radius:7px; }
.change>summary { font-size:13px; }
.change-name { font-size:14px; }
.change-location { font-size:11px; }
.change-bim { font-size:12px; color:#5c7da0; }
.tag { border-radius:5px; font-size:10px; }
input:not([type=checkbox]):not([type=range]),textarea { border-radius:8px; border-color:#d9e3ed; }
input::placeholder,textarea::placeholder { color:#8294a6; }
dialog { border-radius:18px; border-color:#dbe4ef; padding:28px; box-shadow:0 32px 100px #0f294d38; }
dialog::backdrop { background:#132c486b; backdrop-filter:blur(5px); }
.dialog-heading h2 { font-size:25px; }
.file-zone { border-radius:12px; padding:23px; border-color:#a9c4e7; background:linear-gradient(135deg,#eff5fe,#f9fbfe); }
.file-zone .file-symbol { background:#e2edfc; border-radius:10px; width:40px; height:40px; margin:0 auto 9px; line-height:40px; }
.dialog-footer { border-top:1px solid #e7edf4; padding-top:20px; }
footer { padding-top:8px; font-size:11px; color:#7b8da0; }
footer summary { display:inline-block; border-bottom:1px dotted #afbdcd; padding-bottom:2px; }
.empty { border-radius:15px; box-shadow:var(--panel-shadow); }
@media (max-width:1199px) {
  .report-layout,.report-layout.has-details { grid-template-columns:minmax(0,1fr); }
  .classification-panel>.panel-head { justify-content:flex-start; }
  .classification-groups { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .classification-items { max-height:330px; }
}
@media (max-width:1000px) {
  .shell { grid-template-columns:210px minmax(0,1fr); }
  .sidebar { padding:26px 16px; }
  main { padding:26px 22px; }
  .baseline-metrics { gap:10px; }
  .metric { padding:14px; }
  .metric-label { font-size:11px; }
  .metric-label .ui-icon { width:27px; height:27px; }
  .metric strong { font-size:28px; }
}
@media (max-width:760px) {
  .shell { display:block; }
  .sidebar { position:relative; height:auto; padding:19px 20px; overflow:visible; }
  .brand { font-size:22px; gap:10px; }
  .brand-icon { width:34px; height:34px; flex-basis:34px; border-radius:9px; }
  .project-name { margin-top:10px; font-size:12px; color:#b1c8df; }
  .version-list { margin-top:12px; gap:8px; }
  .version { padding:10px 12px; min-width:200px; max-width:260px; }
  .version-number { font-size:8px; margin-bottom:4px; }
  .version strong { font-size:11px; }
  .version small { font-size:9px; margin-top:4px; }
  main { padding:24px 16px; }
  .page-header { min-height:0; gap:12px; margin-bottom:20px; }
  .page-header .eyebrow { font-size:8px; letter-spacing:1px; }
  .page-header h1 { font-size:28px; }
  .page-header p { font-size:11px; max-width:230px; }
  .page-header .primary { font-size:11px; padding:9px 11px; margin-top:22px; }
  .version-heading { display:flex; align-items:flex-start; margin:20px 0 16px; gap:10px; }
  .version-heading h2 { font-size:16px; }
  .version-heading p { font-size:10px; }
  .version-heading .badge { margin-top:17px; font-size:8px; padding:4px 5px; }
  .baseline-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:18px; }
  .baseline-metrics .metric { padding:11px 9px; border-radius:10px; }
  .metric-label { align-items:flex-start; font-size:9px; line-height:1.5; min-height:28px; }
  .metric-label .ui-icon { display:none; }
  .baseline-metrics .metric strong { font-size:25px; margin-top:4px; }
  .metric small { font-size:8px; line-height:1.55; }
  .metric::after { left:9px; right:9px; }
  .panel { border-radius:12px; }
  .model-panel .panel-head { padding:14px; gap:8px; }
  .heading-with-icon { gap:8px; }
  .panel-icon { width:30px; height:30px; border-radius:8px; }
  .model-panel h3 { font-size:14px; }
  .heading-with-icon p { font-size:9px; }
  .model-panel .panel-head .secondary { font-size:9px; padding:7px 8px; }
  .model-status { padding:9px 14px; font-size:10px; }
  .model-viewport { height:390px; }
  .model-controls { padding:11px; gap:6px; }
  .model-controls label { font-size:10px; gap:5px; padding:8px; }
  .model-controls .ui-icon { width:13px; height:13px; }
  .model-controls>span { font-size:9px; line-height:1.6; }
  .section-settings { padding:13px; }
  .section-grid { grid-template-columns:1fr; gap:13px; }
  .section-axis { padding:10px; }
  .section-axis legend { float:none; }
  .section-heading p { font-size:10px; }
  .classification-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .summary-body { padding:17px; }
  .summary-prose p:first-child { font-size:16px; }
  .panel-head { padding:16px; }
  .panel-head h3 { font-size:14px; }
  dialog { padding:21px; border-radius:15px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
.section-handle{width:36px;height:36px;border:0;border-radius:8px;background:transparent;box-shadow:none;padding:6px;filter:drop-shadow(0 1px 1px #ffffffd0)}
.section-handle svg{width:24px;height:24px;stroke-width:2.6}
.section-handle[data-section-handle=xmin]{--handle-color:#c96151}.section-handle[data-section-handle=xmax]{--handle-color:#ad8427}
.section-handle[data-section-handle=ymin]{--handle-color:#218776}.section-handle[data-section-handle=ymax]{--handle-color:#3985bc}
.section-handle[data-section-handle=zmin]{--handle-color:#7662b6}.section-handle[data-section-handle=zmax]{--handle-color:#be5b92}
.section-handle:hover,.section-handle.is-dragging{background:#ffffffa0;box-shadow:0 1px 6px #2a466317}
.section-handle-lines line{stroke:#647d9b;opacity:.28;stroke-width:1;stroke-dasharray:2 3}
.section-adjustments{margin:12px 0 15px;font-size:11px;color:#617b94}.section-adjustments>summary{cursor:pointer;padding:6px 0}
.section-face:has([data-cut=xmin]){color:#a74d40}.section-face:has([data-cut=xmax]){color:#947020}
.section-face:has([data-cut=ymin]){color:#218776}.section-face:has([data-cut=ymax]){color:#3276a8}
.section-face:has([data-cut=zmin]){color:#7662b6}.section-face:has([data-cut=zmax]){color:#ae5085}
.section-face input{accent-color:currentColor}
.model-selection-meta{font-size:11px!important;color:#916b60;margin-top:7px!important;line-height:1.6}.model-selection-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.model-selection-actions .secondary{font-size:11px;background:#fffaf8;border-color:#ead7d0;color:#915f51}
@media(max-width:760px){.model-panel .panel-head .secondary{min-height:36px}.model-controls label{min-height:36px}.section-actions .secondary{min-height:36px}.model-selection-actions .secondary{min-height:36px}}
.clash-panel .panel-icon{color:#ad7a42;background:#fbf2e5}.clash-body{padding:19px 21px}.clash-options{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.clash-options label{margin:0;font-size:11px;font-weight:550;color:#5e7891;flex:1;min-width:125px}.clash-options label:nth-child(2){flex:0 0 95px;min-width:80px}.clash-options select{font:inherit;display:block;padding:10px;width:100%;color:#375774;background:#f8fafc;border:1px solid #dce5ef;border-radius:8px;margin-top:6px}.clash-tolerance{margin-top:6px;font-size:12px}.clash-start{min-height:38px}.clash-status{font-size:12px;line-height:1.7;color:#496682;margin:17px 0 8px}.clash-status.is-error{color:#a1493c}.clash-note{font-size:10px;color:#7b8fa2;line-height:1.7;margin:8px 0}.clash-count.has-clashes{background:#fff1dd;color:#9d6c2a;border-color:#edd9b6}.clash-list{display:grid;gap:8px;margin-top:15px;max-height:460px;overflow:auto;scrollbar-width:thin}.clash-item{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid #e1e8ef;border-radius:9px;background:#fcfdff}.clash-item:hover,.clash-item.is-selected{background:#f0f6fe;border-color:#b8cde6}.clash-index{align-self:flex-start;display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border-radius:7px;font-size:10px;background:#f6ecd9;color:#9d7c40}.clash-parts{display:grid;gap:8px;min-width:0;flex:1}.clash-parts strong{display:block;font-size:11px;color:#43617f}.clash-parts small{display:block;font-size:10px;color:#7890a6;overflow-wrap:anywhere;margin-top:2px}.clash-open{font-size:10px;color:#4b78ac;white-space:nowrap}.clash-panel.is-processing .clash-status::before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;border:2px solid #c6d8ee;border-top-color:#4479bb;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:760px){.clash-body{padding:16px}.clash-options label:first-child{min-width:100%;}.clash-options .clash-start{flex:1}.clash-open{font-size:9px}.clash-item{gap:8px}}
.sun-toggle{display:inline-flex;gap:7px;align-items:center;font-size:11px;min-height:36px;border-radius:8px}.sun-toggle[aria-pressed=true]{color:#98630f;background:#fff2d3;border-color:#e4c77f}.sun-settings{padding:20px 22px;background:linear-gradient(130deg,#fffdf8,#f9fbfe);border-top:1px solid #eadfc5;border-bottom:1px solid #eadfc5}.sun-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sun-heading>div:first-child{flex:1;min-width:155px}.sun-eyebrow{font-size:9px;font-weight:650;letter-spacing:1.5px;color:#a78036}.sun-current{display:flex;align-items:baseline;gap:12px;margin-top:4px;flex-wrap:wrap}.sun-time{font-variant-numeric:tabular-nums;font-size:27px;font-weight:650;color:#3a4e63}.sun-position{font-size:11px;color:#7a8b9b}.sun-date-label{font-size:10px;color:#7b8c9b;margin:0!important}.sun-date{font:inherit!important;font-size:12px!important;padding:7px 10px!important;margin-top:4px;min-height:36px;background:#fff!important}.sun-play{min-height:36px;font-size:11px;min-width:125px;background:#fff7e6;color:#946819;border-color:#e7d6b4}.sun-timeline{padding-top:12px}.sun-chart{display:block;width:100%;height:50px;overflow:visible}.sun-chart line{stroke:#e2e6e9;stroke-width:1;vector-effect:non-scaling-stroke}.sun-curve{stroke:#d8aa45;stroke-width:2;fill:none;vector-effect:non-scaling-stroke}.sun-dot{fill:#e2ab2d;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.sun-dot.is-night{fill:#7c8faa}.sun-range{width:100%;display:block;min-height:32px;margin:0;accent-color:#bf8b24;cursor:ew-resize;touch-action:pan-y}.sun-ticks{display:flex;justify-content:space-between;font-size:10px;font-variant-numeric:tabular-nums;color:#8593a3}.sun-status{font-size:11px;line-height:1.6;color:#6d8197;margin:13px 0 0}.sun-status.is-error{color:#a14b3a}.sun-details{font-size:10px;line-height:1.7;color:#7a8b9b;margin-top:11px}.sun-details summary{cursor:pointer;color:#708299}.sun-details p{margin:10px 0}.sun-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sun-fields label{font-size:10px;margin:0!important}.sun-fields input{font-size:11px!important;padding:8px!important;width:100%;margin-top:4px}.sun-ground-label{display:flex;align-items:center;gap:7px;font-size:11px;margin:13px 0!important}.sun-method a{color:#6f87a0}.sun-viewport-label{position:absolute;z-index:2;right:14px;top:13px;pointer-events:none;border:1px solid #e9dbc3;border-radius:20px;padding:7px 11px;background:#fffcf3e6;color:#94722f;font-size:11px;font-variant-numeric:tabular-nums;box-shadow:0 3px 12px #4e4b2910}.model-viewport.sun-active{background:linear-gradient(155deg,#eef4fb 0%,#f7f7ee 75%,#e4e7dc 100%)}.model-viewport.sun-night{background:linear-gradient(155deg,#34445a,#5d6d7a)}.model-viewport.sun-active::before{opacity:.15}.sun-night .sun-viewport-label{background:#283b52da;color:#d9e1ed;border-color:#ffffff20}@media(max-width:760px){.sun-settings{padding:15px}.sun-heading{gap:12px}.sun-heading>div:first-child{min-width:100%}.sun-current{justify-content:space-between}.sun-heading .sun-date-label{flex:1;min-width:0}.sun-date{width:100%;min-width:0}.sun-play{align-self:flex-end}.sun-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.sun-toggle{font-size:10px;padding:8px}.sun-position{font-size:10px}.sun-time{font-size:25px}}
.terrain-panel{border-top:1px solid #e0e7df;font-size:12px;color:#47614e;background:#fafcf9}.terrain-panel>summary{cursor:pointer;padding:15px 20px;font-weight:600;display:list-item}.terrain-badge{font-weight:400;font-size:10px;color:#8b998e;margin-left:10px}.terrain-body{padding:0 20px 18px}.terrain-body p{font-size:11px;line-height:1.7;color:#788a7d}.terrain-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.terrain-toolbar label{display:flex;align-items:center;gap:7px;margin:0}.terrain-toolbar select{flex:1;min-width:140px}.terrain-body select{font:inherit;padding:8px;border:1px solid #dce5dc;border-radius:7px;background:white;color:#526a57;max-width:100%}.terrain-body .secondary{font-size:11px;min-height:36px}.terrain-status.is-error{color:#a54d3b}.terrain-import,.terrain-placement{margin-top:15px}.terrain-import>summary,.terrain-placement>summary{cursor:pointer;padding:5px 0}.terrain-upload,.terrain-place-form{padding-top:8px}.terrain-upload label{font-size:11px;margin:10px 0;display:block}.terrain-file{max-width:100%;font-size:11px}.terrain-declare{display:flex!important;gap:8px;align-items:flex-start;font-size:10px!important;line-height:1.65;margin:12px 0!important}.terrain-declare input{flex-shrink:0;margin-top:3px}.terrain-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.terrain-fields label{font-size:10px;margin:0}.terrain-fields input{width:100%;font-size:11px;padding:8px;margin-top:4px}.terrain-source{font-size:10px!important;overflow-wrap:anywhere}.sun-floor-label{display:block;font-size:11px;margin:12px 0}.sun-floor-label input{max-width:150px;display:block;margin:5px 0;padding:7px;font-size:12px}.sun-floor-source{display:block;font-size:10px}.terrain-body a{color:#5c7b65}@media(max-width:760px){.terrain-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-body{padding:0 14px 14px}.terrain-toolbar select{width:100%;flex-basis:100%}.terrain-badge{display:block;margin:4px 0 0}.terrain-panel>summary{padding:13px 14px}}
.terrain-toolbar>label{white-space:nowrap}.terrain-toolbar input[type=checkbox]{width:14px;height:14px;flex:0 0 14px}
.site-finder{margin:0 0 18px;background:#fff;border:1px solid #dce5dd;border-radius:12px;overflow:hidden}.site-finder>summary{padding:15px 16px;cursor:pointer;font-weight:650;color:#294c3a}.site-workflow{padding:0 16px 16px}.site-intro{margin-top:0}.site-search{display:flex;align-items:flex-end;gap:9px}.site-search label{flex:1;min-width:0}.site-workflow label{display:block;font-size:11px;color:#456050}.site-workflow input:not([type=range]),.site-workflow select{display:block;width:100%;min-width:0;padding:10px;margin-top:6px;font:inherit;border:1px solid #d5e1d9;border-radius:7px}.site-workflow input[type=range]{width:100%;accent-color:#356bda;margin:15px 0 0}.site-workflow button{white-space:normal}.site-results{display:grid;gap:5px;margin-top:10px}.site-results:empty{display:none}.site-result{text-align:left!important}.site-message{min-height:20px;margin:10px 0!important}.site-message.is-error{color:#a04435}.site-map{height:330px;border:1px solid #d7e1da;border-radius:9px;isolation:isolate;background:#e8eee9}.site-pin{background:#356bda;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #233c6655;color:white;text-align:center;line-height:22px;font-size:17px;cursor:grab}.site-pin:active{cursor:grabbing}.site-adjustments{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:15px;align-items:start;margin-top:16px}.site-angle{float:right;color:#356bda;font-weight:600}.site-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.site-actions>button{font-size:12px;min-height:40px}.site-connection{margin-top:20px;border-top:1px solid #e2e8e3;padding-top:12px}.site-connection>summary{cursor:pointer;font-size:11px}.site-connection-state{margin-left:8px;color:#85958b;font-weight:400}.site-key-form{display:flex;align-items:end;gap:8px}.site-key-form label{flex:1;min-width:0}.site-attribution{font-size:10px!important;margin-bottom:0}.site-map .leaflet-control-attribution{font-size:9px}.site-map .leaflet-control a{color:#365445}.site-data-note{font-size:10px!important}@media(max-width:760px){.site-workflow{padding:0 10px 12px}.site-adjustments{grid-template-columns:1fr 1fr;gap:10px}.site-adjustments>label:first-child{grid-column:1/-1}.site-map{height:290px}.site-key-form{display:block}.site-key-form button{margin-top:9px}}

.model-invert-controls[aria-pressed="true"]{background:#eaf3ff;border-color:#b6d0ef;color:#285d9b}

/* Keep the selected part close to the canvas, with its coloured surroundings. */
.model-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.model-expand{color:#356697;background:#f3f8fe;border-color:#cddfed;white-space:nowrap}
.model-expand[aria-pressed="true"]{color:#28567f;background:#eaf3fc;border-color:#aec9e4}
.model-inspector{min-width:0;background:#fff}
.model-context-visibility{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:12px;max-width:480px;margin:14px 0 2px;font-size:11px;color:#866355}
.model-context-visibility>span{font-size:11px;margin:0;line-height:1.4}
.model-context-visibility>input[type="range"]{width:100%;min-width:0;min-height:28px;margin:0;padding:0;accent-color:#c97753;cursor:ew-resize;touch-action:pan-y}
.model-context-visibility>output{min-width:34px;text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:#906b5a}
.model-view-expanded{overflow:hidden}
.model-panel.is-expanded{position:fixed;inset:12px;z-index:1000;display:flex;flex-direction:column;margin:0;border-radius:14px;max-width:none;overflow:hidden;box-shadow:0 0 0 100vmax #172a42a3,0 14px 70px #10283b50}
.model-panel.is-expanded>.panel-head{flex:0 0 auto;padding:12px 18px;gap:10px}
.model-panel.is-expanded>.model-status{flex:0 0 auto;padding:7px 18px;min-height:31px}
.model-panel.is-expanded>.model-viewport{flex:1 1 auto;height:auto;min-height:clamp(140px,30dvh,280px)}
.model-panel.is-expanded>.model-controls{flex:0 0 auto;max-height:25dvh;overflow-y:auto;padding:9px 14px;gap:7px}
.model-panel.is-expanded>.model-inspector{flex:0 1 auto;min-height:45px;max-height:28dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bccbd7 transparent}
.model-panel.is-expanded .model-selection{padding:12px 18px}
.model-panel.is-expanded .model-selection-actions{margin-top:9px}
.model-panel.is-expanded .terrain-panel>summary,.model-panel.is-expanded .model-colors{padding-top:10px;padding-bottom:10px}
@media(max-width:760px){
  .model-head-actions{gap:6px;margin-left:auto}
  .model-panel .model-head-actions .secondary{font-size:10px}
  .model-panel.is-expanded{inset:6px;border-radius:10px}
  .model-panel.is-expanded>.panel-head{padding:10px 12px}
  .model-panel.is-expanded>.model-status{padding:7px 12px;font-size:10px}
  .model-panel.is-expanded>.model-controls{padding:8px;gap:6px}
  .model-panel.is-expanded>.model-inspector{max-height:30dvh}
  .model-panel.is-expanded .model-selection{padding:12px}
  .model-context-visibility{gap:8px;grid-template-columns:auto minmax(70px,1fr) auto}
  .model-context-visibility>span{font-size:10px;max-width:105px}
}
@media(max-height:500px){
  .model-panel.is-expanded>.panel-head{padding-top:6px;padding-bottom:6px}
  .model-panel.is-expanded>.model-viewport{min-height:100px}
  .model-panel.is-expanded>.model-inspector{max-height:25dvh}
  .model-panel.is-expanded .heading-with-icon p{display:none}
}
.model-selection-beacon{position:absolute;inset:0;z-index:2;pointer-events:none}
.model-selection-beacon[hidden]{display:none}
.model-selection-beacon svg{position:absolute;width:100%;height:100%;overflow:visible}
.model-selection-beacon path{fill:none;stroke:#b8432e;stroke-width:1.5}
.model-selection-beacon .beacon-halo{fill:#fff9;stroke:#fff;stroke-width:3}
.model-selection-beacon .beacon-ring{fill:#f4513526;stroke:#d44a32;stroke-width:2}
.model-selection-beacon span{position:absolute;background:#fffffff2;border:1px solid #e3b8ab;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:600;color:#9e3d2c;box-shadow:0 2px 8px #34241b16;max-width:calc(100% - 16px)}
.model-element-info>.model-element-name{font-size:11px;color:#796a65;margin:5px 0 12px;overflow-wrap:anywhere}
.model-element-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.model-element-facts>div{padding:9px 11px;background:#fffaf8;border:1px solid #eddcd5;border-radius:7px;min-width:0}
.model-element-facts dt{font-size:10px;color:#806c61;margin:0 0 4px;letter-spacing:.02em}
.model-element-facts dd{font-size:14px;font-weight:600;color:#44362e;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.model-element-comments{margin-top:12px;padding:11px 13px;background:#ffffffb8;border:1px solid #eddcd5;border-radius:7px}
.model-element-comments h4{font-size:11px;font-weight:600;color:#665047;margin:0 0 5px}
.model-element-comments p{font-size:12px;color:#51433c;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.model-element-comment+.model-element-comment{margin-top:9px;border-top:1px solid #f0e5df;padding-top:7px}
.model-element-comment small{margin:0 0 3px;color:#8a7c74;font-size:10px}
.model-element-facts .is-missing,.model-element-comments .is-missing{font-weight:400;font-size:11px;color:#8a7c74}
.element-details-extra{margin-top:16px;color:#28445c}
.element-build-up{padding:14px;background:#ffffffd9;border:1px solid #dbe5ed;border-radius:9px}
.element-build-up h4{font-size:13px;line-height:1.4;margin:0 0 8px;color:#24435f}
.element-build-type,.element-build-name{font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin:5px 0 9px;color:#557087}
.element-build-name{font-weight:600}
.element-material-layers{list-style:none;padding:0;margin:10px 0}
.element-material-layer{display:grid;grid-template-columns:21px minmax(0,1fr) auto;align-items:start;gap:8px;padding:9px 0;border-top:1px solid #e6edf2}
.element-material-layer:last-child{border-bottom:1px solid #e6edf2}
.model-selection .element-layer-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0;background:#edf3f7;border-radius:5px;color:#627b8e;font-size:10px}
.model-selection .element-layer-name{font-size:12px;line-height:1.5;color:#304c62;margin:0}
.model-selection .element-layer-thickness{font-size:11px;line-height:1.6;margin:0;text-align:right;max-width:105px;color:#244761;font-variant-numeric:tabular-nums}
.model-selection .element-layer-description small{font-size:10px;margin:3px 0 0;color:#73889a}
.element-build-total{font-size:12px;font-weight:650;color:#244761;margin:9px 0}
.element-build-note{font-size:11px;line-height:1.6;color:#72879a;margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.element-material-items{font-size:12px;line-height:1.6;padding-left:19px;margin:9px 0;color:#304c62}
.element-property-details{border-top:1px solid #dce7ef;margin-top:13px;padding-top:11px}
.element-property-details>summary{font-size:12px;font-weight:600;color:#42637e;cursor:pointer;line-height:1.6}
.element-construction-details{margin-top:12px;padding:11px 12px;background:#ffffffbf;border:1px solid #dbe5ed;border-radius:8px}
.element-construction-details>summary{font-size:12px;font-weight:600;color:#315b79;cursor:pointer;line-height:1.6}
.element-construction-entry{padding-top:10px}
.element-construction-entry+.element-construction-entry{margin-top:10px;border-top:1px solid #e2eaf0}
.element-construction-text{font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:#304c62;margin:0}
.model-selection .element-construction-source{font-size:10px;color:#74899b;margin:9px 0 0;line-height:1.5;overflow-wrap:anywhere}
.element-property-body{padding-top:11px}
.element-property-search{width:100%;box-sizing:border-box;font-size:12px!important;padding:9px 10px!important;background:#fff;border:1px solid #cfdde8;border-radius:6px}
.element-property-count{font-size:10px;color:#71869a;margin:8px 0}
.element-property-group{margin:12px 0 0}
.element-property-group h5{font-size:11px;font-weight:600;color:#41627c;margin:0;padding:7px 9px;background:#e8f0f6;border-radius:5px;overflow-wrap:anywhere}
.element-property-group dl{margin:0}
.element-property-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px;padding:8px 3px;border-bottom:1px solid #e0e9f0;font-size:11px;line-height:1.5}
.element-property-row dt{color:#6a8093;overflow-wrap:anywhere}
.element-property-row dd{margin:0;color:#2c4c65;white-space:pre-wrap;overflow-wrap:anywhere}
.element-property-more,.element-details-retry{font-size:11px!important;margin-top:10px}
.element-details-loading,.element-details-error{font-size:12px;line-height:1.6;color:#648099;margin:10px 0}
.element-details-error{color:#946334}
.selection-quantities{margin-top:15px;padding:13px;background:#ffffffc9;border:1px solid #d9e5ee;border-radius:9px}
.selection-quantities h4{font-size:13px;color:#244761;margin:0 0 6px}
.selection-quantity-scope,.selection-quantity-count,.selection-quantity-status,.selection-quantity-note{font-size:11px;line-height:1.6;color:#668099;margin:7px 0}
.selection-quantity-scope{color:#355b78;font-weight:600}
.selection-quantity-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.selection-quantity-metrics>div{padding:8px 9px;background:#f0f5f9;border-radius:6px;min-width:0}
.selection-quantity-metrics dt{font-size:10px;color:#6a8296;line-height:1.4}
.selection-quantity-metrics dd{margin:4px 0 0;font-size:13px;font-weight:600;color:#254965;overflow-wrap:anywhere}
.model-selection .selection-quantity-metrics small{font-size:9px;line-height:1.4;margin-top:5px}
.selection-quantity-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.selection-quantity-actions button,.selection-quantity-parts button{font-size:11px!important;padding:7px 9px!important}
.selection-quantity-parts{font-size:11px;margin-top:12px;color:#476c88}
.selection-quantity-parts summary{cursor:pointer;font-weight:600;line-height:1.5}
.selection-quantity-parts ul{list-style:none;margin:9px 0;padding:0}
.selection-quantity-parts li{padding:10px 0;border-top:1px solid #e2eaf0}
.model-selection .selection-quantity-parts li>span{font-size:11px;color:#38566d;margin:0;line-height:1.5}
.model-selection .selection-quantity-parts li>small{font-size:10px;margin:4px 0 7px}
.selection-quantity-pages{display:flex;justify-content:space-between;gap:8px}
.quantity-scope-label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#395d79}
.quantity-scope-label select{width:100%;box-sizing:border-box;padding:10px;font-size:12px;background:#fff;border:1px solid #d3e0ea;border-radius:7px}
.quantity-scope-help{font-size:11px!important;line-height:1.6;color:#70889b;margin:8px 0 15px}
.quantity-row-actions button{display:block;margin:0 0 7px;max-width:100%}
.quantity-export-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 30px));max-height:86dvh;overflow:auto;border:1px solid #d9e3ec;border-radius:16px;padding:22px;color:#2c4b65;background:#fff;box-shadow:0 20px 80px #172c4b33}
.quantity-export-dialog::backdrop{background:#203a5066;backdrop-filter:blur(3px)}
.quantity-export-dialog form{margin:0}
.quantity-export-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.quantity-export-head h3{margin:0;font-size:21px;letter-spacing:-.025em;color:#233f57}
.quantity-export-close{border:0;background:#edf3f8;color:#627e94;border-radius:50%;width:32px;height:32px;padding:0;font-size:22px;line-height:1}
.quantity-export-scope{font-size:13px;line-height:1.5;color:#365d7b;margin:14px 0 5px}
.quantity-export-status,.quantity-export-note{font-size:12px;line-height:1.6;color:#6a8195;margin:8px 0 14px}
.quantity-export-metrics{padding:12px;margin:16px 0 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #dbe5ed;border-radius:9px;min-width:0}
.quantity-export-metrics legend{font-size:12px;font-weight:600;padding:0 5px;color:#365970}
.quantity-export-metrics label{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:400;line-height:1.5;margin:0;min-width:0}
.quantity-export-metrics input[type=checkbox]{width:15px;height:15px;min-width:15px;margin:2px 0 0;padding:0;accent-color:#3575d2}
.quantity-export-presets{display:flex;gap:8px;margin:0 0 16px}
.quantity-export-presets button{padding:6px 9px;font-size:11px}
.quantity-export-choice{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#466781;margin:13px 0}
.quantity-export-choice select{width:100%;box-sizing:border-box;padding:10px;background:#f9fbfd;border:1px solid #d4e0ea;border-radius:7px;font-size:12px}
.quantity-export-footer{display:flex;justify-content:flex-end;border-top:1px solid #e3ebf1;padding-top:14px;margin-top:16px}
@media(max-width:420px){.quantity-export-metrics{grid-template-columns:1fr}.quantity-export-dialog{padding:16px}.selection-quantity-metrics{grid-template-columns:1fr}}
@media(max-width:480px){.model-element-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.model-element-facts>div:last-child{grid-column:1/-1}}

/* BIMTypeCode is the model's primary grouping; IDs describe its members. */
.bim-catalog>.panel-head{border-top-color:#88aec4}
.bim-catalog>.panel-head .badge{background:#eef5f9;border-color:#d8e6ee;color:#4b748e;white-space:nowrap}
.bim-catalog .classification-scope{font-size:11px;margin-bottom:13px}
.bim-scope-filters{display:flex;gap:5px;padding:3px;background:#f0f4f8;border:1px solid #e3eaf1;border-radius:9px;margin-bottom:13px}
.bim-scope{flex:1;padding:7px 4px;font-size:11px;white-space:nowrap;border:1px solid transparent;border-radius:6px;color:#6a7f92;background:transparent}
.bim-scope:hover{color:#315f84;background:#ffffff90}
.bim-scope.active{color:#305f84;background:#fff;border-color:#d8e4ed;box-shadow:0 1px 3px #203f5510}
.bim-catalog .classification-search{font-size:11px;width:100%;max-width:none}
.bim-search-help,.bim-catalog-summary{font-size:10px;line-height:1.6;color:#7b8d9e;margin:8px 0}
.bim-catalog-summary{font-variant-numeric:tabular-nums;color:#526f86;border-bottom:1px solid #e8eef4;padding-bottom:11px;margin-bottom:0}
.bim-catalog .classification-items{max-height:640px;padding-right:3px;padding-bottom:8px;margin-top:10px}
.bim-type-group{padding:13px 11px;margin-bottom:9px;border:1px solid #dde7ef;border-radius:10px;background:#fff;transition:border-color .15s,background .15s;min-width:0}
.bim-type-group:last-child{margin-bottom:0}
.bim-type-group:hover{border-color:#bfcfdd}
.bim-type-group.is-selected{border-color:#8eacc7;background:#f3f8fc;box-shadow:inset 3px 0 #85a9c6}
.bim-type-heading{display:flex;align-items:center;gap:8px;min-width:0}
.bim-type-swatch{display:block;width:14px;height:14px;flex:0 0 14px;border-radius:4px;border:1px solid #15365220;box-shadow:inset 0 0 0 1px #ffffff25}
.bim-type-heading>strong{font-size:18px;font-weight:650;letter-spacing:.02em;line-height:1.25;color:#284b67;min-width:0;overflow-wrap:anywhere}
.is-uncoded .bim-type-heading>strong{font-size:13px;letter-spacing:0}
.bim-type-count{margin-left:auto;font-size:10px;color:#6a8296;white-space:nowrap;font-variant-numeric:tabular-nums}
.bim-type-name{font-size:12px;font-weight:500;color:#4d6c83;margin:8px 0 5px;line-height:1.5;overflow-wrap:anywhere}
.bim-type-ids{font-size:10px;line-height:1.5;color:#7b8e9e;margin:6px 0 0;overflow-wrap:anywhere}
.bim-search-matches{font-size:10px;color:#5e80a0;margin:8px 0 0}
.bim-show-group,.bim-member-show{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:33px;padding:7px 9px;margin:11px 0 0;border:1px solid #cbdeed;border-radius:7px;background:#f3f8fd;color:#3d7097;font-size:11px;font-weight:550;text-align:left}
.bim-show-group:hover,.bim-member-show:hover{border-color:#9fbed7;background:#e9f3fc}
.bim-show-group[aria-pressed=true]{background:#e2eef8;border-color:#a0bfd7;color:#255f8b}
.bim-show-group:disabled,.bim-member-show:disabled{opacity:.55;cursor:wait}
.bim-group-status{font-size:10px;line-height:1.6;color:#9a6248;margin:9px 0 0}
.bim-members{margin-top:11px;border-top:1px solid #e8eef4;padding-top:9px}
.bim-members>summary{font-size:10px;color:#6a8398;cursor:pointer;line-height:1.6;list-style-position:inside}
.bim-members>summary:hover{color:#35688e}
.bim-member{padding:11px 0;border-bottom:1px solid #e3ebf1}
.bim-member:last-of-type{border-bottom:0}
.bim-member>strong{display:block;font-size:11px;line-height:1.5;color:#3f617b;overflow-wrap:anywhere}
.bim-member>p{font-size:10px;line-height:1.5;color:#7b8c9a;margin:3px 0 7px;overflow-wrap:anywhere}
.bim-member dl{font-size:10px;margin:0;display:grid;gap:4px}
.bim-member dl>div{display:flex;gap:9px}
.bim-member dt{color:#8493a0;flex:0 0 55px}
.bim-member dd{margin:0;color:#566f83;overflow-wrap:anywhere;min-width:0}
.bim-member-show{margin-top:8px;font-size:10px;background:#fff;min-height:30px;font-weight:400}
.bim-member.is-selected{background:#edf5fb;border-radius:6px;box-shadow:0 0 0 5px #edf5fb}
.bim-member-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #e4edf4;padding-top:10px;margin-top:6px;font-size:10px;color:#7b8e9e}
.bim-member-pagination>div{display:flex;gap:4px}
.bim-member-pagination .secondary{font-size:10px;padding:5px 7px;min-height:28px}
.bim-inventory-note{font-size:12px;color:#6a8095;line-height:1.7;margin:0 0 18px;padding:12px 14px;background:#f2f7fb;border:1px solid #dde8f1;border-radius:9px}
.bim-inventory-note strong{color:#42627d;font-weight:550}
.bim-inventory-note a{color:#3c739c;text-underline-offset:2px}
.model-legend .model-typecode-legend{display:inline-flex;align-items:center;gap:7px;border:1px solid #dce6ee;border-radius:6px;background:#fff;color:#5c778e;padding:6px 8px;font-size:10px;line-height:1.4;text-align:left;max-width:100%}
.model-legend .model-typecode-legend:hover{border-color:#a6c1d6;background:#f0f7fc}
.model-legend .model-typecode-legend[aria-pressed=true]{background:#e4f0fa;border-color:#8caec9;color:#2b5e85}
.model-legend .model-typecode-legend i{flex-shrink:0}
.model-colors .model-legend{max-height:170px;overflow-y:auto;align-items:flex-start;scrollbar-width:thin;padding:2px 2px 5px}
.model-typecode-selection .model-typecode-summary{font-size:11px;line-height:1.65;margin:6px 0;color:#647b8d;white-space:pre-line}
.model-typecode-selection>strong{font-size:16px}
@media(min-width:1200px){.report-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1199px){.bim-catalog .classification-items{max-height:510px}.bim-scope-filters{max-width:420px}.bim-catalog .classification-search{max-width:420px}}
@media(max-width:760px){.bim-catalog .classification-items{max-height:500px}.bim-show-group,.bim-member-show,.bim-scope{min-height:36px}.bim-type-group{padding:13px}.bim-type-heading>strong{font-size:19px}}

.terrain-quick{padding:14px 0;border-top:1px solid #dce5dc;margin-top:14px}.terrain-adjust button{margin-top:12px}.terrain-badge{overflow-wrap:anywhere}.site-finder{margin-top:18px}.terrain-declare input{width:auto;height:auto;flex:0 0 auto}.terrain-declare{white-space:normal}

/* The map is a full view beside 3D, with terrain tools kept below placement. */
.model-head-actions .model-map-toggle{color:#386c8d;background:#f5f9fc;border-color:#cbdde9;white-space:nowrap}
.model-head-actions .model-map-toggle[aria-pressed="true"]{color:#225d8a;background:#e6f1fa;border-color:#94b9d6;box-shadow:inset 0 0 0 1px #b7d1e5}
.model-head-actions .model-site-reset,.site-plan-view .site-actions .site-reset{color:#657487;background:#fff;border-color:#d2dce5;white-space:nowrap}
.model-head-actions .model-site-reset:hover:not(:disabled),.site-plan-view .site-actions .site-reset:hover:not(:disabled){color:#8a4937;border-color:#cdaea5;background:#fcf7f5}
.site-area-tools{display:flex;align-items:center;gap:18px;padding:12px 14px;margin-top:10px;background:#f5f8f6;border:1px solid #dce6df;border-radius:9px}
.site-area-tools>label{flex:0 0 155px}.site-area-tools>div{min-width:0}.site-area-tools .site-size{padding:8px;background:#fff}
.site-area-size{font-size:14px;font-weight:650;color:#395747;font-variant-numeric:tabular-nums}.site-area-hint{font-size:11px!important;line-height:1.5;margin:3px 0 0!important;color:#627b6a!important}
.site-area-handle{display:flex!important;align-items:center;justify-content:center;background:transparent;border:0;touch-action:none}
.site-area-handle>span{display:block;width:10px;height:10px;background:#fff;border:2px solid #668975;border-radius:3px;box-shadow:0 1px 4px #345d4b35;transition:background .12s}
.site-area-handle:hover>span,.site-area-handle:focus-visible>span{background:#d4e8dc;border-color:#3e7454}.site-area-handle[aria-disabled="true"]{opacity:.45;cursor:wait}
.site-area-e,.site-area-w{cursor:ew-resize}.site-area-n,.site-area-s{cursor:ns-resize}.site-area-ne,.site-area-sw{cursor:nesw-resize}.site-area-nw,.site-area-se{cursor:nwse-resize}
@media(max-width:600px){.site-area-tools{align-items:start;gap:11px}.site-area-tools>label{flex-basis:130px}}
.site-finder.site-plan-view{margin:0;border:0;border-radius:0;background:#fafcfe;min-width:0;overflow:visible}
.site-plan-view[hidden],.site-plan-view [hidden]{display:none!important}
.site-plan-view .site-workflow{padding:20px 22px 18px;min-width:0}
.site-plan-view .site-plan-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;align-items:start;margin-bottom:18px}
.site-plan-view .site-plan-heading h4{font-size:18px;line-height:1.35;letter-spacing:-.2px;font-weight:650;color:#294b66;margin:0}
.site-plan-view .site-plan-heading p{font-size:12px;line-height:1.6;color:#718497;margin:0;max-width:65ch}
.site-plan-view .site-plan-heading>p{grid-column:1;grid-row:2}
.site-plan-view .site-plan-heading>div p{margin-top:5px}
.site-plan-view .site-plan-heading .site-back{grid-column:2;grid-row:1 / span 2;font-size:11px;white-space:nowrap;align-self:center}
.site-plan-view .site-workflow label{font-size:12px;color:#45657d;margin:0}
.site-plan-view .site-search{gap:10px;align-items:flex-end;max-width:750px}
.site-plan-view .site-search input{font-size:13px;background:white;border-color:#ccdae5;padding:11px 13px;margin-top:7px}
.site-plan-view .site-search>button{min-height:43px;padding:10px 20px;font-size:12px;border-color:#c4d6e4;color:#3d6687}
.site-plan-view .site-results{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));max-width:950px;gap:7px;margin-top:10px}
.site-plan-view .site-result{font-size:12px;padding:10px 12px;border-color:#d4e1eb;background:#fff;line-height:1.45}
.site-plan-view .site-result:hover{background:#edf5fc;border-color:#a9c4d9}
.site-plan-view .site-message{font-size:12px;line-height:1.5;min-height:18px;margin:12px 0!important;color:#557992;overflow-wrap:anywhere}
.site-plan-view .site-message.is-error{color:#a04435}
.site-plan-view .site-map-area{min-width:0}
.site-plan-view .site-map{width:100%;height:clamp(450px,50dvh,520px);border-color:#ccdae3;border-radius:12px;box-shadow:0 3px 14px #233f5710;background:#eaf0ed}
.site-plan-view .site-map:focus-visible{outline:3px solid #74aaff;outline-offset:3px}
.site-plan-view .site-map .leaflet-control-attribution{max-width:calc(100vw - 90px);font-size:10px;line-height:1.5;white-space:normal;background:#fffffff0;color:#5b6d76}
.site-plan-view .site-map .leaflet-bar{border:1px solid #bacbd6;box-shadow:0 2px 6px #2c445d22;border-radius:7px;overflow:hidden}
.site-plan-view .site-map .leaflet-bar a{color:#3b617c;width:32px;height:32px;line-height:32px}
.site-plan-view .site-map-hint{font-size:11px;line-height:1.6;color:#6d8293;margin:10px 0 0}
.site-plan-view .site-adjustments{grid-template-columns:minmax(180px,480px);gap:14px;margin-top:18px;align-items:center}
.site-plan-view .site-adjustments label{min-width:0}
.site-plan-view .site-adjustments input[type="range"]{margin:9px 0 0;padding:0;min-height:30px;cursor:ew-resize;accent-color:#397bac}
.site-plan-view .site-angle{color:#397bac;font-size:12px;font-variant-numeric:tabular-nums}
.site-plan-view .site-actions{gap:9px;margin-top:14px;padding-bottom:2px}
.site-plan-view .site-actions>button{min-height:41px;padding:10px 17px;font-size:12px}
.site-plan-view .site-actions .site-save{background:#367bae;color:#fff;border:1px solid #2e70a2;font-weight:600;box-shadow:0 2px 5px #28587618}
.site-plan-view .site-actions .site-save:hover:not(:disabled){background:#2d6a99;border-color:#28618d}
.site-plan-view .site-actions .site-cancel{color:#647c90;border-color:#d2dee8;background:#fff}
.site-plan-view .site-actions>button:disabled{cursor:default;opacity:.48;box-shadow:none}
.site-plan-view .site-scene{background:#286ba3;color:white;border:1px solid #286ba3;box-shadow:0 3px 10px #286ba325;padding:12px 17px}
.site-plan-view .site-save{background:#f3f7fb;color:#356685;border:1px solid #cbdae5;box-shadow:none}
.site-map-layers{display:flex;flex-wrap:wrap;align-items:center;gap:7px 18px;padding:9px 0 12px;color:#456079;font-size:12px}
.site-map-layers label{display:flex;align-items:center;gap:7px;font-weight:600}
.site-cadastre-status{font-size:11px;max-width:100%;color:#677f93}
.site-plan-preview{display:flex;align-items:center;gap:12px;padding:9px 12px;margin-top:8px;border:1px solid #dce6ef;border-radius:8px;background:#f4f8fd;width:max-content;max-width:100%;color:#466c8a;font-size:11px}
.site-plan-preview img{width:115px;height:55px;object-fit:contain}
.site-blueprint{filter:drop-shadow(0 1px 1px #ffffffb0)}
.site-connection ol{padding-left:22px;color:#5a7185;font-size:12px;line-height:1.8}
.terrain-surroundings-toggle{display:flex;align-items:center;gap:7px;margin:9px 0;font-size:12px;color:#486477}
.terrain-surroundings-toggle input{width:auto;min-width:0;min-height:0;margin:0;flex:0 0 auto}
.site-context-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px}.site-context-tools>p{flex-basis:100%;margin:0 0 2px}.site-context-selection{position:absolute;z-index:5;left:16px;bottom:16px;width:270px;max-width:calc(100% - 32px);padding:16px;background:#fffffff2;border:1px solid #d7dedb;border-radius:12px;box-shadow:0 8px 28px #243c4920;color:#354c5b;backdrop-filter:blur(8px)}.site-context-selection strong{display:block;padding-right:15px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.site-context-eyebrow{display:block;font-size:9px;letter-spacing:1.3px;color:#899287;margin-bottom:7px}.site-context-selection p{font-size:11px;line-height:1.5;color:#798780;margin:7px 0 12px}.site-context-selection small{display:block;font-size:10px;line-height:1.5;margin-top:8px;color:#84918b}.site-context-selection .site-context-close{position:absolute;right:8px;top:7px;border:0;background:transparent;font-size:22px;font-weight:400;color:#83908c;line-height:1;padding:6px;min-width:30px;min-height:30px;box-shadow:none}.site-context-selection .site-context-remove{font-size:11px;min-height:36px;color:#986646;border-color:#e4ccb9;background:#fcf7f1}.site-context-selection .site-context-remove:hover{background:#f6ede3}.site-context-restore-float{position:absolute;z-index:4;right:16px;bottom:16px;font-size:11px;min-height:36px;background:#fffffff2;box-shadow:0 3px 16px #243c4914}.site-context-tools[hidden],.site-context-selection[hidden],.site-context-restore-float[hidden],.site-context-tools button[hidden]{display:none}@media(max-width:540px){.site-context-selection{left:10px;bottom:54px;max-width:calc(100% - 20px)}.site-context-restore-float{bottom:10px;right:10px;font-size:10px;max-width:calc(100% - 20px)}}
.terrain-cad-status{font-size:12px;color:#526f85;line-height:1.6}
.site-plan-view .site-more{margin-top:19px;border-top:1px solid #dfe7ee;padding-top:14px}
.site-plan-view .site-more>summary{cursor:pointer;font-size:12px;font-weight:600;color:#52738a;list-style-position:inside}
.site-plan-view .site-more[open]>summary{margin-bottom:14px}
.site-plan-view .site-more p{font-size:11px;line-height:1.65;color:#718497}
.site-plan-view .site-more .site-adjustments{grid-template-columns:repeat(2,minmax(0,220px));margin-top:12px;align-items:start}
.site-plan-view .site-more input:not([type="range"]),.site-plan-view .site-more select{font-size:12px;margin-top:6px;background:white;border-color:#d1dfe8}
.site-plan-view .site-workflow input[type="checkbox"],.site-plan-view .site-workflow input[type="radio"]{display:inline-block;width:auto;min-width:0;height:auto;min-height:0;padding:0;margin:0 7px 0 0;vertical-align:middle;flex:0 0 auto;accent-color:#397bac}
.site-plan-view .site-load{padding:9px 13px;font-size:12px;color:#3d6f92;background:#eef5fb;border:1px solid #c9ddeb;border-radius:7px}
.site-plan-view .site-connection{margin-top:16px;border-color:#dfe7ee}
.site-plan-view .site-key-form{max-width:730px;gap:10px}
.site-plan-view .site-key-form>button{font-size:11px;min-height:40px}
.site-plan-view .site-attribution{color:#8293a2;margin-top:17px;line-height:1.6}
.model-panel.is-expanded>.site-plan-view{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bccbd7 transparent}
.model-panel.is-expanded>.site-plan-view .site-workflow{min-height:100%;display:flex;flex-direction:column}
.model-panel.is-expanded>.site-plan-view .site-map{height:clamp(330px,55dvh,700px)}
.model-panel.is-expanded>.site-plan-view .site-map-area{flex:1 0 auto}
@media(max-width:760px){
  .site-plan-view .site-workflow{padding:16px 12px}
  .site-plan-view .site-plan-heading{gap:6px 10px;margin-bottom:15px}
  .site-plan-view .site-plan-heading h4{font-size:16px}
  .site-plan-view .site-plan-heading p{font-size:11px}
  .site-plan-view .site-plan-heading .site-back{padding:8px 10px;font-size:10px}
  .site-plan-view .site-search{gap:8px}
  .site-plan-view .site-search>button{padding:10px 13px}
  .site-plan-view .site-map{height:390px;border-radius:9px}
  .site-plan-view .site-adjustments{grid-template-columns:minmax(0,1fr);margin-top:14px}
  .site-plan-view .site-more .site-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-plan-view .site-more .site-adjustments>label:first-child{grid-column:auto}
  .site-plan-view .site-key-form>button{margin-top:10px}
  .model-panel.is-expanded>.site-plan-view .site-map{height:clamp(300px,52dvh,560px)}
}
@media(max-width:480px){
  .site-plan-view .site-plan-heading{grid-template-columns:minmax(0,1fr)}
  .site-plan-view .site-plan-heading .site-back{grid-column:1;grid-row:auto;justify-self:start;margin-top:5px}
  .site-plan-view .site-map{height:350px}
  .site-plan-view .site-actions>button{flex:1 1 auto}
  .site-plan-view .site-more .site-adjustments{grid-template-columns:minmax(0,1fr)}
  .site-plan-view .site-more .site-adjustments>label:first-child{grid-column:1}
}
/* Keep the finding and its BCF transfer together without nested buttons. */
.clash-export-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.clash-export-row .clash-item{flex:1;min-width:0}.clash-bcf{white-space:nowrap;text-decoration:none;flex-shrink:0}.clash-save-status{flex-basis:100%;margin:0 0 8px;padding:10px 12px;border-radius:8px;background:#eef7f2;color:#24583d;font-size:12px;overflow-wrap:anywhere}.clash-save-status.is-error{background:#fff0ed;color:#963d2b}
.clash-ignore{white-space:nowrap}.clash-ignore-confirm{flex-basis:100%;padding:14px;background:#f1f5fa;border:1px solid #d5e0ef;border-radius:10px;font-size:13px}.clash-ignore-confirm button{margin:4px 8px 0 0}.clash-rule{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e4eaf2;font-size:13px}.clash-rule span{overflow-wrap:anywhere}.clash-rules{margin-bottom:16px}.clash-options .clash-show-reviewed{display:flex;flex-direction:row;align-items:center;gap:8px}.clash-show-reviewed input{width:auto}
.model-stream-name{font-size:12px;line-height:1.5;color:#496482;padding:14px 10px 4px;margin:0;overflow-wrap:anywhere}
.federation-panel{margin-bottom:24px}.federation-panel .panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.federation-body{padding:0 22px 18px}.federation-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.federation-model{border:1px solid #dce5ee;border-radius:12px;padding:13px;background:#f8fafd;min-width:0}.federation-model label{display:flex;gap:10px;align-items:center;cursor:pointer;margin:0 0 10px}.federation-model input{accent-color:#2864c7;width:18px;height:18px;flex-shrink:0}.federation-model strong{display:block;font-size:13px;overflow-wrap:anywhere}.federation-model small{display:block;color:#64758a;font-size:11px;margin-top:3px}.federation-model select{width:100%;font-size:12px;padding:7px;border:1px solid #d3dfed;border-radius:7px;background:white}.federation-actions{display:flex;align-items:center;gap:14px;margin-top:16px}.federation-actions span,.federation-help{font-size:12px;color:#64758a}.federation-help{line-height:1.6;margin-bottom:0}#upload-model{display:block;width:100%;padding:12px;border:1px solid #d3dfed;border-radius:8px;margin-bottom:14px}
.ventilation-legend{padding:16px 18px;background:#f6f9fc;border:1px solid #dce5ee;border-radius:10px;margin-bottom:14px}.ventilation-legend>strong{font-size:13px}.ventilation-swatches{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:12px}.ventilation-swatches span{display:flex;align-items:center;gap:7px;font-size:12px}.ventilation-swatches i{width:13px;height:13px;border-radius:4px;border:1px solid #0001}.ventilation-legend p{font-size:12px;color:#64758a;margin:12px 0 0}
.clash-reason{color:#214b70}.clash-explanation{padding:12px 14px;background:#f3f7fb;border-left:3px solid #4281b9;border-radius:7px;max-width:720px}.clash-explanation p{margin:0 0 8px;font-size:13px;line-height:1.5}.clash-explanation small{display:block;line-height:1.5;color:#63768b}
.quantities-panel{margin-top:22px;margin-bottom:24px}.quantities-panel .panel-head p{font-size:13px;color:#63768b;margin:5px 0 0}.quantities-body{padding:0 20px 20px}.quantities-body>p{font-size:13px;line-height:1.6;color:#63768b}.quantities-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.quantities-filters label{font-size:12px;display:flex;flex-direction:column;gap:6px}.quantities-filters input,.quantities-filters select{width:100%;min-width:0;padding:10px;border:1px solid #d8e3ef;border-radius:8px;background:white}.quantities-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.quantity-status{font-size:12px;line-height:1.5;flex:1;min-width:200px}.quantity-csv{text-decoration:none;white-space:nowrap}.quantity-table-scroll{overflow:auto}.quantity-table{width:100%;border-collapse:collapse;font-size:13px}.quantity-table th{text-align:left;background:#f2f6fb;color:#4f6780;padding:12px}.quantity-table td{padding:14px 10px;border-bottom:1px solid #e4ebf2;vertical-align:top}.quantity-table td>strong,.quantity-table td>span{display:block}.quantity-table td>span{margin-top:5px}.quantity-table td:nth-child(2){white-space:nowrap}.quantity-measure{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:0 0 10px}.quantity-measure strong{white-space:nowrap}.quantity-measure small{color:#667b91}.quantity-measure details{font-size:11px;grid-column:1/-1;color:#667b91;overflow-wrap:anywhere}.quantity-missing{color:#7a8794;font-style:italic}.quantity-pages{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:12px}.quantity-pages>span{margin-right:auto}.quantity-note{border-top:1px solid #e4ebf2;padding-top:12px}@media(max-width:700px){.quantities-filters{grid-template-columns:1fr}.quantity-table{min-width:550px}}

.sky-options{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px;font-size:12px}.sky-options label{display:flex;align-items:center;gap:7px}.sky-options small{flex-basis:100%;color:#718296;line-height:1.5}.sun-moon{font-size:12px;line-height:1.6;color:#536982}

.sun-settings .sky-options label{margin:0;font-size:12px;white-space:nowrap}.sun-settings .sky-options input{width:14px;height:14px;min-height:0;padding:0;margin:0;flex:0 0 14px}

.sun-heading>div:first-child{flex:1 0 100%}.sun-current .sun-time{flex:0 0 auto}.sun-current .sun-position{flex:1;min-width:140px}
