:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--sidebar-width:180px;--topbar-height:56px;--timeline-height:90px;--models-width:360px;--targets-width:380px;--properties-width:550px;--links-left-width:220px;--gap:8px;--panel-padding:8px;--panel-radius:8px;--bg-main:#0b0f14;--bg-panel:#101820;--bg-card:#0f151c;--bg-hover:#172331;--border:#243241;--border-hover:#3a5068;--text-main:#f3f6f8;--text-muted:#8fa3b8;--text-heading:#dce7f1;--accent:#e6eef7;--accent-text:#111820;--font-xs:9px;--font-sm:10px;--font-md:11px;--font-base:12px;--font-lg:15px;--font-xl:18px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--text-main);background:var(--bg-main);font-family:Arial,Helvetica,sans-serif;font-size:var(--font-base)}button,input{font:inherit}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:100vw;height:100vh;display:grid;overflow:hidden}.main{grid-template-rows:var(--topbar-height) minmax(0, 1fr) var(--timeline-height);min-width:0;height:100vh;display:grid;overflow:hidden}.sidebar{padding:var(--panel-padding);background:var(--bg-panel);border-right:1px solid var(--border);overflow:hidden}.brand{text-align:center;margin-bottom:24px}.brand-main{font-size:var(--font-lg);letter-spacing:2px;font-weight:800}.brand-sub{color:var(--text-muted);font-size:var(--font-lg);margin-top:4px;font-weight:700}.nav{flex-direction:column;gap:8px;display:flex}.nav button{color:#c7d2df;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 11px}.nav button:hover{color:#fff;background:var(--bg-hover);border-color:#2d4258}.nav-active{font-weight:700;color:var(--accent-text)!important;background:var(--accent)!important}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;min-width:0;padding:0 20px;display:flex}.topbar-spacer{flex-shrink:0;width:130px}.topbar-title{text-align:center;flex:1}.topbar-title h1{font-size:var(--font-xl);margin:0}.topbar-title p{color:var(--text-muted);font-size:var(--font-md);margin:4px 0 0}.connect-button{width:130px;color:var(--accent-text);background:var(--accent);white-space:nowrap;cursor:pointer;border:0;border-radius:8px;padding:9px 12px;font-weight:700}.viewer-panel,.properties-panel,.timeline,.workspace-page,.model-browser,.element-browser,.task-browser,.link-panel,.target-browser,.selection-set-browser{min-width:0;padding:var(--panel-padding);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--panel-radius)}.viewer-panel h2,.properties-panel h2,.timeline h2,.model-browser h2,.element-browser h2,.task-browser h2,.link-panel h2,.target-browser h2,.selection-set-browser h2{color:var(--text-heading);font-size:var(--font-base);text-align:center;margin:0 0 10px}.properties-panel p,.model-browser p,.element-browser p,.task-browser p,.link-panel p,.workspace-page p,.selection-set-browser p{color:var(--text-muted);line-height:1.4}.workspace{grid-template-columns:minmax(0, 1fr) var(--properties-width);gap:var(--gap);min-width:0;min-height:0;padding:var(--gap);display:grid;overflow:hidden}.workspace-page{min-height:0;margin:var(--gap);overflow:hidden}.page-header{min-height:60px;margin-bottom:18px;position:relative}.page-header-title{text-align:center}.page-header-title h2{color:var(--text-heading);font-size:var(--font-xl);margin:0}.page-header-title p{color:var(--text-muted);font-size:var(--font-base);margin:6px 0 0}.page-header-actions{position:absolute;top:0;right:0}.secondary-button,.delete-link-button{color:var(--text-heading);border:1px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:8px}.secondary-button{padding:8px 12px}.delete-link-button{font-size:var(--font-sm);padding:5px 9px}.secondary-button:hover,.delete-link-button:hover{background:var(--bg-hover);border-color:var(--accent)}.project-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(345px,1fr));display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:14px}.project-card:hover,.model-card:hover,.task-card:hover{border-color:var(--accent)}.project-card-selected,.model-card-selected{background:var(--bg-hover);border-color:var(--accent)}.project-card-selected:after,.model-card-selected:after{content:"Selected";color:var(--accent);font-size:var(--font-sm);margin-top:10px;font-weight:700;display:block}.project-card-title{color:var(--text-main);font-size:var(--font-base);text-align:center;font-weight:700}.project-card-meta{color:var(--text-muted);text-align:center;margin-top:6px}.project-card-footer{color:var(--text-muted);font-size:var(--font-sm);justify-content:space-between;margin-top:22px;display:flex}.task-list{flex-direction:column;gap:8px;display:flex}.task-card{width:100%;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:8px;padding:10px}.task-card-selected{background:var(--bg-hover);border-color:var(--accent)}.links-workspace{grid-template-columns:var(--links-left-width) minmax(0, 1fr);gap:var(--gap);min-height:0;padding:var(--gap);display:grid;overflow:hidden}.link-button{width:100%;color:var(--accent-text);background:var(--accent);cursor:pointer;border:0;border-radius:8px;margin-top:18px;padding:10px;font-weight:700}.link-list{margin-top:22px}.link-list h3{color:var(--text-heading);font-size:var(--font-base);margin:0 0 10px}.link-card{color:var(--text-main);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px;display:flex}.link-info{align-items:center;gap:10px;display:flex}.timeline{margin:0 var(--gap) var(--gap);overflow:hidden}.timeline-bar{background:var(--bg-hover);border:1px solid #2d4258;border-radius:999px;height:14px;overflow:hidden}.timeline-progress{background:var(--accent);width:35%;height:100%}.model-environment{--coordinate-readout-reserved-height:26px;--properties-panel-current-width:var(--properties-width);height:100%;min-height:0;padding:var(--gap);position:relative;overflow:hidden}.model-viewer-base{z-index:1;inset:var(--gap);position:absolute}.model-viewer-base .viewer-panel{width:100%;height:100%}.floating-panel{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--panel-radius);background:#1018209e;border:1px solid #e6eef72e;position:absolute;overflow:hidden;box-shadow:0 12px 32px #00000059}.floating-model-browser,.floating-target-browser,.floating-properties{top:var(--gap);bottom:var(--gap);height:auto;max-height:calc(100% - (var(--gap) * 2));flex-direction:column;display:flex;overflow:hidden}.floating-model-browser{left:var(--gap);width:var(--models-width);right:auto}.floating-target-browser{left:calc(var(--gap) + var(--models-width) + var(--gap));width:var(--targets-width);right:auto}.floating-properties{right:var(--gap);width:var(--properties-width);left:auto}.floating-panel .model-browser,.floating-panel .target-browser,.floating-panel .properties-panel{width:100%;height:100%;min-height:0;max-height:100%;padding:var(--panel-padding);scrollbar-gutter:stable;background:0 0;border:0;border-radius:0;overflow:hidden auto}.floating-panel .element-browser,.floating-panel .selection-set-browser{background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.model-browser-heading,.target-browser-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0e161ef0;padding-bottom:8px;position:sticky;top:0}.model-browser-project{color:var(--text-muted);font-size:var(--font-sm);text-align:left;margin:2px 0 0}.model-browser-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.model-browser-heading h2{text-align:left;margin-bottom:2px}.model-browser-global-actions{gap:4px;display:flex}.model-browser-empty{color:var(--text-muted);border:1px dashed var(--border);background:#ffffff06;border-radius:7px;flex-direction:column;gap:4px;padding:10px;display:flex}.model-browser-empty strong{color:var(--text-heading);font-size:var(--font-sm)}.model-list{flex-direction:column;gap:8px;width:100%;display:flex}.model-card{width:100%;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px}.model-card-select{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.model-card-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:8px;font-weight:700;overflow:hidden}.model-card-meta{color:var(--text-muted);font-size:var(--font-sm);justify-content:space-between;display:flex}.model-card-description,.model-card-coordinate{max-width:100%;color:var(--text-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.model-card-description{min-height:1.35em}.model-card-coordinate{font-variant-numeric:tabular-nums}.model-card-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px;padding-top:6px;display:flex}.model-browser-visibility{color:var(--text-main);font-size:var(--font-xs);cursor:pointer;align-items:center;gap:4px;margin-right:auto;display:flex}.model-browser-visibility input{margin:0}.model-browser-action-button{color:var(--text-heading);border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:5px;padding:3px 6px}.model-browser-action-button:hover{background:var(--bg-hover);border-color:var(--accent)}.model-browser-remove-button{color:#f2a6a6}.model-browser-remove-button:hover{color:#fff;background:#b4373773;border-color:#ff7878cc}.target-tabs{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;display:grid}.target-tab{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);font-size:var(--font-sm);cursor:pointer;border-radius:8px;padding:8px}.target-tab:hover{border-color:var(--accent)}.target-tab-active{color:var(--accent-text);background:var(--accent);font-weight:700}.element-browser-empty{color:var(--text-muted);border:1px dashed var(--border);background:#ffffff06;border-radius:7px;flex-direction:column;gap:4px;padding:9px;display:flex}.element-browser-empty strong{color:var(--text-heading);font-size:var(--font-sm)}.element-selection-card,.multi-selection-card{border:1px solid var(--border-hover);background:#ffffff09;border-radius:7px;width:100%;padding:8px}.element-selection-name{color:var(--text-heading);font-size:var(--font-sm);overflow-wrap:anywhere;font-weight:600}.element-selection-meta{color:var(--text-muted);font-size:var(--font-xs);flex-wrap:wrap;justify-content:space-between;gap:5px;margin-top:6px;display:flex}.element-selection-global-id{color:var(--text-muted);font-family:monospace;font-size:var(--font-xs);overflow-wrap:anywhere;margin-top:5px}.element-clear-button{width:100%;color:var(--text-heading);border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:5px;margin-top:7px;padding:4px 6px}.element-clear-button:hover{background:var(--bg-hover);border-color:var(--accent)}.element-property-status{color:var(--text-muted);font-size:var(--font-xs);text-align:left;background:#ffffff06;border-radius:5px;margin-top:6px;padding:4px 6px}.element-property-status-error{color:#f2a6a6}.multi-selection-count{color:var(--text-heading);font-size:var(--font-sm);font-weight:600}.multi-selection-meta{color:var(--accent);font-size:var(--font-xs);margin-top:3px}.multi-selection-card p{color:var(--text-muted);font-size:var(--font-xs);text-align:left;margin:6px 0}.selection-builder,.selection-set-empty{border:1px solid var(--border);background:#ffffff06;border-radius:7px;width:100%;padding:8px}.selection-builder p{color:var(--text-muted);font-size:var(--font-xs);text-align:left;margin:6px 0}.selection-builder-summary{color:var(--text-main);font-size:var(--font-xs);justify-content:space-between;align-items:center;gap:8px;display:flex}.selection-builder-summary strong{color:var(--text-heading);font-size:var(--font-sm)}.selection-set-name-input{width:100%;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-hover);font-size:var(--font-xs);border-radius:5px;outline:none;margin-top:4px;padding:6px 7px}.selection-set-name-input:focus{border-color:var(--accent)}.selection-set-create-button{width:100%;color:var(--text-heading);background:var(--bg-hover);border:1px solid var(--accent);font-size:var(--font-xs);cursor:pointer;border-radius:5px;margin-top:6px;padding:6px 8px}.selection-set-create-button:disabled{color:var(--text-muted);border-color:var(--border);opacity:.7;cursor:not-allowed;background:0 0}.selection-set-toolbar{flex-wrap:wrap;gap:5px;margin:7px 0;display:flex}.selection-set-toolbar button,.selection-set-actions button{color:var(--text-heading);border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:5px;padding:4px 6px}.selection-set-toolbar button:hover,.selection-set-actions button:hover{background:var(--bg-hover);border-color:var(--accent)}.selection-set-empty{color:var(--text-muted);font-size:var(--font-xs);text-align:left}.selection-set-list{flex-direction:column;gap:8px;width:100%;max-height:none;display:flex;overflow:visible}.selection-set-card{width:100%;height:auto;min-height:0;max-height:none;color:var(--text-main);border:1px solid var(--border);background:#ffffff06;border-radius:7px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.selection-set-card:hover{border-color:var(--accent)}.selection-set-card-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.selection-set-main-button{width:100%;height:auto;min-height:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:none;padding:9px;display:block;overflow:visible}.selection-set-title{max-width:100%;color:var(--text-heading);font-size:var(--font-sm);overflow-wrap:anywhere;font-weight:600}.selection-set-count,.selection-set-models{max-width:100%;color:var(--text-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.selection-set-actions{border-top:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:5px;width:100%;min-height:40px;padding:7px 9px;display:flex;overflow:visible}.selection-set-delete-button{margin-left:auto;color:#f2a6a6!important}.viewer-panel{min-height:0;position:relative;overflow:hidden}.three-viewer{width:100%;height:100%}.viewer-toolbar{z-index:50;align-items:center;gap:10px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.ifc-load-button{color:var(--text-heading);background:var(--bg-panel);border:1px solid var(--border-hover);cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700;box-shadow:0 3px 12px #00000047}.ifc-load-button-disabled,.viewer-tool-button:disabled{opacity:.45;cursor:not-allowed;-webkit-user-select:none;user-select:none}.viewer-tool-button{color:var(--text-heading);background:var(--bg-panel);border:1px solid var(--border-hover);cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700;box-shadow:0 3px 12px #00000047}.viewer-tool-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.viewer-file-name,.viewer-status{font-size:var(--font-sm)}.viewer-file-name{color:var(--text-muted)}.viewer-status{color:var(--accent)}.viewer-load-progress{z-index:40;width:min(460px,100% - 40px);color:var(--text-main);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0c1218e6;border:1px solid #e6eef733;border-radius:8px;padding:7px 9px;position:absolute;top:102px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0000004d}.viewer-load-progress-header{font-size:var(--font-xs);justify-content:space-between;align-items:center;gap:12px;margin-bottom:5px;display:flex}.viewer-load-progress-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.viewer-load-progress-value{color:var(--text-heading);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.viewer-load-progress-track{background:#e6eef71f;border:1px solid #e6eef71f;border-radius:999px;width:100%;height:6px;overflow:hidden}.viewer-load-progress-fill{border-radius:inherit;background:#7ed321;height:100%;transition:width .18s;box-shadow:0 0 8px #7ed32173}.viewer-coordinate-readout{z-index:45;width:min(var(--properties-panel-current-width), calc(100% - 16px));min-width:0;max-width:none;height:var(--coordinate-readout-reserved-height);min-height:var(--coordinate-readout-reserved-height);max-height:var(--coordinate-readout-reserved-height);color:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--font-xs);pointer-events:none;background:#0a2137c2;border:1px solid #e6eef72e;border-radius:8px;padding:3px 8px;position:absolute;inset:auto 0 0 auto;overflow:hidden;transform:none;box-shadow:0 12px 32px #00000059}.coordinate-model-name{color:var(--text-heading);font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;font-weight:600;overflow:hidden}.coordinate-row{font-variant-numeric:tabular-nums;grid-template-columns:66px repeat(3,minmax(70px,1fr));align-items:center;gap:4px;min-height:16px;display:grid}.coordinate-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.coordinate-label{color:#fffffffa;font-weight:700}.coordinate-crs{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #e6eef71f;margin-top:4px;padding-top:4px;overflow:hidden}.coordinate-placeholder{color:#ffffffdb;text-align:center;place-items:center;width:100%;height:100%;display:grid}.coordinate-unavailable{color:#ffffffdb;grid-column:2/5}.coordinate-row-only{align-content:center;min-height:100%}.properties-panel{width:100%;height:100%;min-height:0;max-height:100%;padding-right:6px;overflow:hidden auto}.properties-summary,.properties-section,.property-grid,.property-grid dt,.property-grid dd{text-align:left}.properties-summary{border-bottom:1px solid var(--border);padding-bottom:7px}.properties-section{margin-top:9px}.properties-section h3{color:var(--text-heading);font-size:var(--font-sm);margin:0 0 6px}.properties-section-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.properties-section-heading h3{margin:0}.property-grid{font-size:var(--font-xs);grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);align-items:start;gap:4px 7px;margin:0;display:grid}.property-grid dt{color:var(--text-muted);font-weight:600}.property-grid dd{min-width:0;color:var(--text-main);overflow-wrap:anywhere;margin:0}.property-loading-indicator{color:var(--accent);font-size:var(--font-xs);flex-shrink:0;font-weight:600}.property-loading-placeholder{color:var(--text-muted);border:1px dashed var(--border);font-size:var(--font-xs);text-align:left;background:#ffffff06;border-radius:6px;padding:10px}.property-error-message{color:#f2a6a6;text-align:left}.property-group-list{flex-direction:column;gap:4px;display:flex}.property-group{border:1px solid var(--border);background:#ffffff05;border-radius:7px;overflow:hidden}.property-group[open]{background:#ffffff06}.property-group-summary{color:var(--text-heading);font-size:var(--font-sm);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff09;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-weight:600;display:flex}.property-group-summary:hover{background:var(--bg-hover)}.property-group-name{overflow-wrap:anywhere;min-width:0}.property-group-meta{color:var(--text-muted);font-size:var(--font-xs);flex-shrink:0;font-weight:400}.property-group-table{flex-direction:column;display:flex}.property-group-table-header,.property-group-row{text-align:left;grid-template-columns:minmax(150px,.85fr) minmax(0,1.35fr) minmax(42px,.25fr);align-items:start;gap:8px;padding:6px 8px;display:grid}.property-group-table-header{color:var(--text-muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:var(--font-xs);background:#ffffff05;font-weight:600}.property-group-row{color:var(--text-main);border-bottom:1px solid var(--border);font-size:var(--font-xs)}.property-group-row:last-child{border-bottom:0}.property-group-property-name,.property-group-property-value,.property-group-property-unit{overflow-wrap:anywhere;word-break:break-word;min-width:0}.property-group-property-name,.property-group-property-unit{color:var(--text-muted)}.property-group-property-value{color:var(--text-main)}.property-group-property-unit{white-space:nowrap}.model-browser,.target-browser,.properties-panel{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.model-browser::-webkit-scrollbar{width:8px}.target-browser::-webkit-scrollbar{width:8px}.properties-panel::-webkit-scrollbar{width:8px}.model-browser::-webkit-scrollbar-track{background:0 0}.target-browser::-webkit-scrollbar-track{background:0 0}.properties-panel::-webkit-scrollbar-track{background:0 0}.model-browser::-webkit-scrollbar-thumb{background:var(--border-hover);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.target-browser::-webkit-scrollbar-thumb{background:var(--border-hover);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.properties-panel::-webkit-scrollbar-thumb{background:var(--border-hover);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.model-browser::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}.target-browser::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}.properties-panel::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}@media (width<=1450px){.selection-set-actions{justify-content:flex-start}.selection-set-delete-button{margin-left:0}}@media (width<=1200px){:root{--models-width:320px;--targets-width:340px;--properties-width:460px}.property-group-table-header,.property-group-row{grid-template-columns:minmax(125px,.8fr) minmax(0,1.2fr) minmax(38px,.25fr)}}@media (width<=1050px){.viewer-coordinate-readout{width:min(var(--properties-panel-current-width), calc(100% - 16px));top:auto;bottom:0;right:0}.coordinate-row{grid-template-columns:62px repeat(3,minmax(60px,1fr))}}@media (width<=900px){html,body,#root{overflow:auto}.app{flex-direction:column;width:100%;height:auto;min-height:100vh;display:flex}.sidebar{width:100%}.nav{flex-direction:row;overflow-x:auto}.nav button{white-space:nowrap}.main{flex-direction:column;height:auto;display:flex}.topbar{align-items:flex-start;gap:var(--gap);height:auto;padding:var(--gap);flex-direction:column}.topbar-spacer{display:none}.topbar-title{text-align:left}.connect-button{width:auto}.workspace,.links-workspace{grid-template-columns:1fr;overflow:visible}.page-header{min-height:auto}.page-header-title{text-align:left}.page-header-actions{margin-top:12px;position:static}.model-environment{gap:var(--gap);flex-direction:column;height:auto;min-height:100vh;display:flex;overflow:visible}.model-viewer-base,.floating-panel,.floating-model-browser,.floating-target-browser,.floating-properties{width:100%;max-height:420px;position:relative;inset:auto}.model-viewer-base{min-height:520px;max-height:none}.floating-panel .model-browser,.floating-panel .target-browser,.floating-panel .properties-panel{max-height:420px}.model-environment.properties-panel-is-pinned .floating-properties.floating-panel-pinned{height:auto;min-height:var(--browser-collapsed-height);max-height:420px;bottom:auto}.viewer-coordinate-readout{width:min(520px,100% - 16px);bottom:0;right:0}.timeline{height:auto}}:root{--browser-collapsed-height:46px;--browser-expanded-height:calc(100% - (var(--gap) * 2))}.floating-model-browser,.floating-target-browser,.floating-properties{height:var(--browser-collapsed-height);min-height:var(--browser-collapsed-height);max-height:var(--browser-collapsed-height);will-change:height;transition:height .18s,min-height .18s,max-height .18s,box-shadow .18s;bottom:auto}.floating-model-browser:hover,.floating-model-browser:focus-within,.floating-model-browser.floating-panel-pinned,.floating-target-browser:hover,.floating-target-browser:focus-within,.floating-target-browser.floating-panel-pinned,.floating-properties:hover,.floating-properties:focus-within,.floating-properties.floating-panel-pinned{z-index:30;height:var(--browser-expanded-height);min-height:var(--browser-expanded-height);max-height:var(--browser-expanded-height);box-shadow:0 16px 42px #0000008c}.panel-pin-button{z-index:40;min-width:36px;height:25px;color:var(--text-muted);border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:#0c1218d1;border-radius:5px;padding:0 7px;font-weight:600;line-height:1;position:absolute;top:7px;right:8px}.panel-pin-button:hover{color:var(--text-heading);background:var(--bg-hover);border-color:var(--accent)}.panel-pin-button-active{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.model-browser-heading,.target-browser-header,.floating-properties .properties-panel>h2{padding-right:48px}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-heading~*{visibility:hidden;opacity:0;pointer-events:none}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-project,.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-global-actions{display:none}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-heading{min-height:calc(var(--browser-collapsed-height) - (var(--panel-padding) * 2));border-bottom:0;justify-content:center;align-items:center;padding-bottom:0;padding-right:48px}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-heading h2{text-align:center;white-space:nowrap;width:100%;margin:0}.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-browser-header~*{visibility:hidden;opacity:0;pointer-events:none}.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-tabs{display:none}.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-browser-header{min-height:calc(var(--browser-collapsed-height) - (var(--panel-padding) * 2));border-bottom:0;justify-content:center;align-items:center;padding-bottom:0;padding-right:48px;display:flex}.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-browser-header h2{text-align:center;white-space:nowrap;width:100%;margin:0}.floating-properties:not(:hover):not(:focus-within):not(.floating-panel-pinned) .properties-panel>:not(h2){visibility:hidden;opacity:0;pointer-events:none}.floating-properties:not(:hover):not(:focus-within):not(.floating-panel-pinned) .properties-panel{overflow:hidden}.floating-properties:not(:hover):not(:focus-within):not(.floating-panel-pinned) .properties-panel>h2{width:100%;min-height:calc(var(--browser-collapsed-height) - (var(--panel-padding) * 2));text-align:center;white-space:nowrap;justify-content:center;align-items:center;margin:0;padding-right:48px;display:flex}.floating-model-browser:hover .model-browser,.floating-model-browser:focus-within .model-browser,.floating-model-browser.floating-panel-pinned .model-browser,.floating-target-browser:hover .target-browser,.floating-target-browser:focus-within .target-browser,.floating-target-browser.floating-panel-pinned .target-browser,.floating-properties:hover .properties-panel,.floating-properties:focus-within .properties-panel,.floating-properties.floating-panel-pinned .properties-panel{height:100%;min-height:0;overflow:hidden auto}.model-environment.properties-panel-is-pinned .floating-properties.floating-panel-pinned{bottom:calc(var(--coordinate-readout-reserved-height) + (var(--gap) * 2));height:auto;min-height:0;max-height:calc(100% - var(--coordinate-readout-reserved-height) - (var(--gap) * 4))}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned):after,.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned):after,.floating-properties:not(:hover):not(:focus-within):not(.floating-panel-pinned):after{content:"▼";color:var(--text-muted);pointer-events:none;font-size:8px;position:absolute;top:50%;right:54px;transform:translateY(-50%)}@media (width<=900px){.schedule-layout,.schedule-field-row{grid-template-columns:1fr}}.schedule-workspace{overflow-y:auto}.schedule-page-header{margin-bottom:12px}.schedule-layout{gap:var(--gap);grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.schedule-form-panel,.schedule-table-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--panel-radius);min-width:0;padding:10px}.schedule-form-panel h3,.schedule-table-panel h3{color:var(--text-heading);font-size:var(--font-base);margin:0}.schedule-field{color:var(--text-muted);font-size:var(--font-xs);text-align:left;flex-direction:column;gap:4px;margin-top:9px;display:flex}.schedule-field-row{grid-template-columns:1fr 1fr;gap:4px;display:grid}.schedule-field input{width:100%;min-width:0;color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:5px;outline:none;padding:6px 7px}.schedule-field input:focus{border-color:var(--accent)}.schedule-create-button{width:100%;color:var(--accent-text);background:var(--accent);cursor:pointer;border:0;border-radius:6px;margin-top:10px;padding:7px 9px;font-weight:700}.schedule-create-button:disabled{opacity:.45;cursor:not-allowed}.schedule-import-note{color:var(--text-muted);font-size:var(--font-xs);text-align:left;margin-top:10px;line-height:1.4}.schedule-table-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.schedule-table-heading span{color:var(--text-muted);font-size:var(--font-xs)}.schedule-task-table{border:1px solid var(--border);border-radius:7px;min-width:760px;overflow:hidden}.schedule-table-panel{overflow-x:auto}.schedule-task-header,.schedule-task-row{grid-template-columns:minmax(55px,.45fr) minmax(190px,1.8fr) minmax(105px,.85fr) minmax(105px,.85fr) minmax(70px,.6fr) minmax(120px,1fr) 58px;align-items:stretch;display:grid}.schedule-task-header{color:var(--text-muted);border-bottom:1px solid var(--border);font-size:var(--font-xs);text-align:left;background:#ffffff09;padding:6px 7px;font-weight:600}.schedule-task-row{border-bottom:1px solid var(--border)}.schedule-task-row:last-child{border-bottom:0}.schedule-task-row-selected{background:var(--bg-hover);box-shadow:inset 3px 0 0 var(--accent)}.schedule-task-select{color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;grid-column:1/7;grid-template-columns:minmax(55px,.45fr) minmax(190px,1.8fr) minmax(105px,.85fr) minmax(105px,.85fr) minmax(70px,.6fr) minmax(120px,1fr);align-items:center;padding:0;display:grid}.schedule-task-select>span{overflow-wrap:anywhere;min-width:0;padding:7px}.schedule-task-name{color:var(--text-heading);flex-direction:column;gap:2px;font-weight:600;display:flex}.schedule-task-name small{color:var(--text-muted);font-size:var(--font-xs);font-weight:400}.schedule-task-wbs{color:var(--accent);font-weight:600}.schedule-task-progress{align-items:center;gap:4px;display:flex}.schedule-task-progress-track{background:var(--bg-panel);border:1px solid var(--border);border-radius:999px;flex:1;height:5px;overflow:hidden}.schedule-task-progress-fill{background:#7ed321;height:100%;display:block}.schedule-task-delete{color:#f2a6a6;border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:5px;grid-column:7;margin:5px;padding:4px 6px}.schedule-task-delete:hover{color:#fff;background:#b4373773;border-color:#ff7878cc}.schedule-empty-state,.task-browser-empty{color:var(--text-muted);border:1px dashed var(--border);font-size:var(--font-xs);text-align:left;background:#ffffff06;border-radius:7px;padding:12px}.task-browser{min-height:0;overflow-y:auto}.task-browser-target{font-size:var(--font-xs);text-align:left;margin:0 0 8px}.task-browser-target strong{color:var(--text-heading)}.task-card-heading{align-items:flex-start;gap:7px;display:flex}.task-card-wbs{color:var(--accent);font-size:var(--font-xs);flex-shrink:0;font-weight:700}.task-card-dates{color:var(--text-muted);font-size:var(--font-xs);flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px;display:flex}.task-card-meta{color:var(--text-muted);font-size:var(--font-xs);justify-content:space-between;gap:4px;margin-top:7px;display:flex}.link-button:disabled{opacity:.45;cursor:not-allowed}.link-helper-text{font-size:var(--font-xs);text-align:left;margin:6px 0 0}.link-manager-summary{border-bottom:1px solid var(--border);padding-bottom:8px}.timeline{min-width:0}.timeline-heading{grid-template-columns:80px minmax(0,1fr);align-items:center;gap:8px;display:grid}.timeline-heading h2{text-align:left;margin:0}.timeline-range{min-width:0;color:var(--text-muted);font-size:var(--font-xs);justify-content:space-between;align-items:center;gap:8px;display:flex}.timeline-range span:nth-child(2){min-width:0;color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.timeline-task-track{background:var(--bg-hover);border:1px solid #2d4258;border-radius:6px;height:28px;margin-top:7px;position:relative;overflow:hidden}.timeline-task{min-width:8px;height:18px;color:var(--accent-text);background:var(--accent);cursor:pointer;border:1px solid #ffffff59;border-radius:4px;padding:0;position:absolute;top:4px;overflow:hidden}.timeline-task:hover,.timeline-task-selected{z-index:5;outline:2px solid #7ed321}.timeline-task-complete{background:#7ed321;position:absolute;inset:0 auto 0 0}.timeline-task-label{z-index:2;text-overflow:ellipsis;white-space:nowrap;padding:1px 4px;font-size:8px;font-weight:700;display:block;position:relative;overflow:hidden}.timeline-empty{color:var(--text-muted);font-size:var(--font-xs);text-align:center}@media (width<=900px){.schedule-layout,.schedule-field-row{grid-template-columns:1fr}}.projects-workspace{overflow:hidden auto}.project-message,.project-empty-state{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--panel-radius);text-align:center;width:min(680px,100%);margin:0 auto 14px;padding:12px 14px}.project-message-error{color:#f2a6a6;border-color:#ff78788c}.project-empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;display:flex}.project-empty-state strong{color:var(--text-heading);font-size:var(--font-lg)}.project-empty-state .secondary-button{margin-top:5px}.project-card{cursor:default;flex-direction:column;min-height:260px;padding:0;display:flex;overflow:hidden}.project-card-selected{box-shadow:inset 3px 0 0 var(--accent)}.project-card-selected:after{display:none}.project-card-select{width:100%;min-height:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;padding:14px;display:flex}.project-card-select:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.project-card-badges{justify-content:space-between;align-items:center;gap:7px;margin-bottom:14px;display:flex}.project-source-badge,.project-status-badge{color:var(--text-muted);border:1px solid var(--border);font-size:var(--font-xs);white-space:nowrap;background:#ffffff09;border-radius:999px;padding:3px 7px}.project-status-connected{color:#bceaa0;border-color:#7ed32173}.project-card-title{font-size:var(--font-lg);text-align:left}.project-card-code{color:var(--accent);font-size:var(--font-sm);margin-top:5px;font-weight:600}.project-card-description{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-top:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.project-card-footer{gap:10px;margin-top:18px}.project-card-footer span:last-child{text-align:right;max-width:58%}.project-card-actions{border-top:1px solid var(--border);background:#ffffff05;align-items:center;gap:4px;padding:9px 10px;display:flex}.project-card-actions button{font-size:var(--font-sm);cursor:pointer;border-radius:6px;padding:6px 9px}.project-open-button{color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);flex:1;font-weight:700}.project-card-action{color:var(--text-heading);border:1px solid var(--border-hover);background:0 0}.project-card-action:hover{background:var(--bg-hover);border-color:var(--accent)}.project-delete-button{color:#f2a6a6}.project-delete-button:hover{color:#fff;background:#b4373773;border-color:#ff7878cc}.project-dialog-backdrop{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03070bc2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.project-dialog{width:min(620px,100%);max-height:calc(100vh - 48px);color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:12px;padding:18px;overflow-y:auto;box-shadow:0 24px 70px #0000008c}.project-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:13px;display:flex}.project-dialog-header h3{color:var(--text-heading);font-size:var(--font-lg);margin:0}.project-dialog-header p{color:var(--text-muted);font-size:var(--font-sm);margin:5px 0 0}.project-dialog-close{width:30px;height:30px;color:var(--text-heading);border:1px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:6px;padding:0;font-size:20px;line-height:1}.project-dialog-close:hover{background:var(--bg-hover);border-color:var(--accent)}.project-dialog-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.project-field{min-width:0;color:var(--text-muted);font-size:var(--font-sm);text-align:left;flex-direction:column;gap:5px;display:flex}.project-field-wide{grid-column:1/-1}.project-field input,.project-field select,.project-field textarea{width:100%;min-width:0;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-hover);border-radius:6px;outline:none;padding:8px 9px}.project-field textarea{resize:vertical}.project-field input:focus,.project-field select:focus,.project-field textarea:focus{border-color:var(--accent)}.project-field select:disabled{opacity:.65;cursor:not-allowed}.project-dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:13px;display:flex}.project-save-button{color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:7px;padding:8px 13px;font-weight:700}.project-save-button:disabled{opacity:.45;cursor:not-allowed}@media (width<=700px){.project-dialog-grid{grid-template-columns:1fr}.project-field-wide{grid-column:auto}.project-card-footer{flex-direction:column;align-items:flex-start}.project-card-footer span:last-child{text-align:left;max-width:100%}}.project-dialog-error{text-align:left;width:100%;margin:13px 0 0}:root{--topbar-side-width:250px}.topbar-spacer{width:var(--topbar-side-width)}.topbar-connection{width:var(--topbar-side-width);justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex;position:relative}.topbar-connection .connect-button{width:auto;min-width:150px}.connect-button:disabled,.aps-disconnect-button:disabled{opacity:.55;cursor:not-allowed}.aps-account-summary{min-width:0;max-width:165px;color:var(--text-heading);font-size:var(--font-sm);justify-content:flex-end;align-items:center;gap:4px;font-weight:600;display:flex}.aps-status-dot{border-radius:50%;flex:none;width:8px;height:8px}.aps-status-dot-connected{background:#7ed321;box-shadow:0 0 7px #7ed321b3}.aps-account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.aps-disconnect-button{color:var(--text-muted);border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:6px 8px}.aps-disconnect-button:hover:not(:disabled){color:#fff;background:#b4373759;border-color:#ff7878bf}.topbar-aps-error{z-index:100;color:#ffd1d1;width:min(360px,100vw - 30px);font-size:var(--font-xs);text-align:left;background:#5f1414f5;border:1px solid #ff7878a6;border-radius:6px;padding:6px 8px;line-height:1.35;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 22px #0006}@media (width<=900px){.topbar-connection{justify-content:flex-start;width:100%}.topbar-aps-error{left:0;right:auto}}.quantum-viewer-layer{z-index:1;visibility:hidden;opacity:0;pointer-events:none;position:absolute;inset:0}.quantum-viewer-layer-active{visibility:visible;opacity:1;pointer-events:auto}.quantum-viewer-layer .three-viewer,.quantum-viewer-layer .aps-viewer{width:100%;min-width:0;height:100%;min-height:0}.aps-viewer{background:var(--bg-main);position:relative;overflow:hidden}.aps-viewer .adsk-viewing-viewer{width:100%!important;height:100%!important}.viewer-source-badge{z-index:36;color:var(--text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--font-xs);pointer-events:none;background:#0c1218d6;border:1px solid #e6eef733;border-radius:6px;padding:5px 8px;font-weight:600;position:absolute;bottom:10px;right:10px}@media (width<=900px){.quantum-viewer-layer{position:absolute;inset:0}}.model-browser-heading,.target-browser-header,.floating-properties .properties-panel>h2{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0e161ef0;min-height:30px;margin:0;padding:0 48px 8px}.model-browser-heading{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center stretch;gap:3px;display:grid}.model-browser-heading>div:first-child{min-width:0}.model-browser-heading h2,.target-browser-header h2,.floating-properties .properties-panel>h2{width:100%;min-height:22px;color:var(--text-heading);font-size:var(--font-base);text-align:center;white-space:nowrap;justify-content:center;align-items:center;margin:0;font-weight:700;line-height:1.2;display:flex}.model-browser-project{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.model-browser-global-actions{justify-content:center;margin-top:3px}.target-browser-header h2{margin-bottom:8px}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-heading,.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-browser-header,.floating-properties:not(:hover):not(:focus-within):not(.floating-panel-pinned) .properties-panel>h2{min-height:calc(var(--browser-collapsed-height) - (var(--panel-padding) * 2));border-bottom:0;padding:0 48px}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-heading h2,.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-browser-header h2,.floating-properties:not(:hover):not(:focus-within):not(.floating-panel-pinned) .properties-panel>h2{min-height:100%;margin:0}.floating-properties .properties-panel>h2,.floating-properties .properties-summary,.floating-properties .properties-summary+p{color:var(--text-heading);background:#0e161ef0}.floating-properties .properties-summary{border-bottom:1px solid var(--border);margin:0;padding:4px 8px 8px}.floating-properties .properties-summary p,.floating-properties .properties-summary strong{color:var(--text-heading)}.floating-properties .properties-summary+p{color:var(--text-heading);text-align:center;margin:0;padding:7px 8px 9px}.properties-panel .properties-section-heading h3,.properties-panel .properties-section>h3{color:var(--text-heading)}.properties-panel .property-group-summary,.properties-panel .property-group-table-header{color:var(--text-heading);background:#091a2cf5}.properties-panel .property-group-summary:hover{background:#0b1f33fa}.properties-panel .property-group-table-header{border-top-color:#ffffff14;border-bottom-color:#ffffff14}.properties-panel .property-group-name,.properties-panel .property-group-summary span,.properties-panel .property-group-table-header span,.properties-panel .property-group-table-header .property-group-property-name,.properties-panel .property-group-table-header .property-group-property-value,.properties-panel .property-group-table-header .property-group-property-unit{color:var(--text-heading)}.floating-properties .properties-summary p,.floating-properties .properties-summary strong{font-size:var(--font-sm);line-height:1.2}.floating-properties .properties-panel>h2,.floating-properties .properties-summary,.floating-properties .properties-summary+p{background:#091a2cf5}.floating-properties .properties-summary p{margin:0;line-height:1.8}.floating-properties,.floating-properties .properties-panel{border-radius:7px}.floating-properties .properties-panel>h2{border-radius:7px 7px 0 0}.floating-properties .properties-summary{border-radius:0 0 7px 7px}.floating-properties .properties-summary:has(+p){border-radius:0}.floating-properties .properties-summary+p{border-radius:0 0 7px 7px}.floating-model-browser,.floating-target-browser,.floating-model-browser .model-browser,.floating-target-browser .target-browser{border-radius:7px}.floating-model-browser .model-browser-heading,.floating-target-browser .target-browser-header{background:#091a2cf5}.floating-model-browser .model-browser-heading{border-radius:7px 7px 0 0}.floating-target-browser .target-browser-header{border-radius:7px}.floating-model-browser .model-browser-project{line-height:1.8}.floating-properties{background:#0a2137c2}.floating-model-browser,.floating-target-browser,.floating-simulation-controls{background:#0a2137c2}.floating-model-browser .model-card,.floating-model-browser .model-browser-empty,.floating-target-browser .element-browser-empty,.floating-target-browser .element-selection-card,.floating-target-browser .multi-selection-card,.floating-target-browser .selection-builder,.floating-target-browser .selection-set-empty,.floating-target-browser .selection-set-card,.floating-target-browser .parameter-selection-step,.floating-target-browser .parameter-model-list,.floating-target-browser .parameter-shared-values,.floating-target-browser .parameter-selection-status,.floating-target-browser .element-property-status,.floating-simulation-controls .simulation-controls-panel,.floating-simulation-controls .simulation-empty-state,.floating-simulation-controls .simulation-date-block,.floating-simulation-controls .simulation-legend>div,.floating-simulation-controls .simulation-summary-grid>div{background:#0e273f57}.floating-model-browser .model-browser-project,.floating-model-browser .model-card-meta,.floating-model-browser .model-card-description,.floating-model-browser .model-card-coordinate,.floating-target-browser .selection-builder p,.floating-target-browser .selection-set-empty,.floating-target-browser .selection-set-count,.floating-target-browser .selection-set-models,.floating-target-browser .element-selection-meta,.floating-target-browser .element-selection-global-id,.floating-target-browser .element-property-status,.floating-target-browser .multi-selection-card p,.floating-target-browser .target-browser p,.floating-target-browser .parameter-selection-step-heading span,.floating-target-browser .parameter-model-option small,.floating-target-browser .parameter-field,.floating-target-browser .parameter-selection-status,.floating-target-browser .parameter-selection-empty,.floating-target-browser .selection-set-method-badge,.floating-simulation-controls .simulation-panel-heading p,.floating-simulation-controls .simulation-date-block label,.floating-simulation-controls .simulation-speed-field>span,.floating-simulation-controls .simulation-range-labels,.floating-simulation-controls .simulation-summary-grid span,.floating-simulation-controls .simulation-paused-badge{color:#fffffff0}.floating-target-browser .parameter-model-option,.floating-target-browser .parameter-shared-value-option,.floating-target-browser .parameter-show-single-values,.floating-simulation-controls .simulation-legend>div,.floating-simulation-controls .simulation-date-block input[type=date],.floating-simulation-controls .simulation-speed-field select{color:#fffffff5}.floating-model-browser .model-browser-visibility,.floating-target-browser .selection-builder-summary,.floating-target-browser .parameter-field select:disabled,.floating-target-browser .selection-set-create-button:disabled,.floating-target-browser .parameter-action-button:disabled{color:#ffffffe0}.floating-target-browser .selection-builder-summary strong,.floating-target-browser .multi-selection-count,.floating-target-browser .element-selection-name,.floating-simulation-controls .simulation-legend strong,.floating-simulation-controls .simulation-summary-grid strong{color:#fffffffa}.floating-simulation-controls .simulation-date-block input[type=date],.floating-simulation-controls .simulation-speed-field select,.floating-target-browser .selection-set-name-input,.floating-target-browser .parameter-field select{background:#071422d1}.floating-target-browser .target-browser-header:has(+.target-browser-tabs){border-radius:7px 7px 0 0}.floating-target-browser .target-browser-tabs{background:#091a2cf5;border-radius:0 0 7px 7px}.floating-model-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .model-browser-heading,.floating-target-browser:not(:hover):not(:focus-within):not(.floating-panel-pinned) .target-browser-header{border-radius:7px}.floating-model-browser .model-card,.floating-model-browser .model-card-selected{background:#091a2cf5}.floating-model-browser .model-card:hover{background:#0b1f33fa}.floating-model-browser .model-list{margin-top:10px}.selection-builder-mode-tabs{grid-template-columns:1fr 1fr;gap:5px;width:100%;margin-bottom:7px;display:grid}.selection-builder-mode{color:var(--text-muted);border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:6px;padding:6px 8px;font-weight:600}.selection-builder-mode:hover,.selection-builder-mode-active{color:var(--text-heading);background:var(--bg-hover);border-color:var(--accent)}.parameter-selection-builder{flex-direction:column;gap:8px;display:flex}.parameter-selection-step{border:1px solid var(--border);background:#07142273;border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.parameter-selection-step-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.parameter-selection-step-heading strong{color:var(--text-heading);font-size:var(--font-sm)}.parameter-selection-step-heading span{color:var(--text-muted);font-size:var(--font-xs);text-align:right}.parameter-model-list,.parameter-shared-values{border:1px solid var(--border);background:#00000024;border-radius:5px;flex-direction:column;gap:4px;max-height:150px;padding:4px;display:flex;overflow-y:auto}.parameter-model-option,.parameter-shared-value-option,.parameter-show-single-values{min-width:0;color:var(--text-main);font-size:var(--font-xs);cursor:pointer;align-items:center;gap:7px;display:flex}.parameter-model-option{border-radius:4px;padding:5px}.parameter-model-option:hover,.parameter-shared-value-option:hover{background:var(--bg-hover)}.parameter-model-option>span{flex-direction:column;flex:1;min-width:0;display:flex}.parameter-model-option small{color:var(--text-muted);font-size:calc(var(--font-xs) - 1px);margin-top:2px}.parameter-field{color:var(--text-muted);font-size:var(--font-xs);flex-direction:column;gap:4px;display:flex}.parameter-field select{width:100%;min-width:0;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-hover);font-size:var(--font-xs);border-radius:5px;outline:none;padding:6px 7px}.parameter-field select:focus{border-color:var(--accent)}.parameter-field select:disabled{color:var(--text-muted);opacity:.7}.parameter-action-button{width:100%;color:var(--text-heading);background:var(--bg-hover);border:1px solid var(--accent);font-size:var(--font-xs);cursor:pointer;border-radius:5px;padding:6px 8px}.parameter-action-button:disabled{color:var(--text-muted);border-color:var(--border);opacity:.7;cursor:not-allowed;background:0 0}.parameter-show-single-values{padding-top:2px}.parameter-shared-value-option{border-radius:4px;padding:5px}.parameter-shared-value-option>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.parameter-shared-value-option>strong{min-width:28px;color:var(--text-heading);font-size:var(--font-xs);text-align:center;background:#ffffff0f;border-radius:10px;flex:none;padding:2px 5px}.parameter-selection-status,.parameter-selection-empty{color:var(--text-muted);font-size:var(--font-xs);line-height:1.45}.parameter-selection-status{border:1px solid var(--border);background:#ffffff06;border-radius:5px;padding:7px}.parameter-preview-summary{padding-top:2px}.selection-set-error{color:#f2a6a6}.selection-set-title-row{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.selection-set-method-badge{color:var(--text-muted);border:1px solid var(--border);font-size:calc(var(--font-xs) - 1px);background:#ffffff0a;border-radius:10px;flex:none;padding:2px 5px;font-weight:600}.selection-set-method-parameter{color:var(--text-heading);border-color:var(--accent);background:#346fa147}.selection-set-rule-summary{max-width:100%;color:var(--accent);font-size:var(--font-xs);overflow-wrap:anywhere;margin-top:5px;line-height:1.4}@media (width<=700px){.project-grid{grid-template-columns:1fr}}.main.main-simulation-page,.main.main-models-page,.main.main-projects-page{grid-template-rows:var(--topbar-height) minmax(0, 1fr)}.simulation-workspace{gap:var(--gap);min-width:0;min-height:0;padding:var(--gap);grid-template-columns:minmax(0,1fr) minmax(360px,430px);display:grid;overflow:hidden}.simulation-viewer-column{min-width:0;min-height:0;position:relative;overflow:hidden}.simulation-selection-panel{left:var(--gap);right:auto}.simulation-side-column{gap:var(--gap);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.simulation-controls-panel{min-width:0;color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--panel-radius);flex:none;padding:10px;overflow:hidden}.simulation-side-column .properties-panel{flex:auto;min-height:0;overflow:hidden auto}.simulation-panel-heading{background:#091a2cf5;border:1px solid #8fa3b847;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin:-2px -2px 10px;padding:10px 11px;display:flex}.simulation-panel-heading h2{color:var(--text-heading);font-size:var(--font-base);text-align:left;margin:0}.simulation-panel-heading p{color:var(--text-muted);font-size:var(--font-xs);margin:3px 0 0}.simulation-running-badge,.simulation-paused-badge{border:1px solid var(--border-hover);font-size:var(--font-xs);border-radius:999px;flex:none;padding:5px 8px;font-weight:700}.simulation-running-badge{color:#ffd89a;background:#ff9f1c1f;border-color:#ff9f1c8f}.simulation-paused-badge{color:var(--text-muted);background:#8fa3b814}.simulation-empty-state,.simulation-error{border:1px solid var(--border);font-size:var(--font-sm);border-radius:7px;margin-bottom:10px;padding:9px 10px;line-height:1.45}.simulation-empty-state{color:var(--text-muted);background:var(--bg-card)}.simulation-error{color:#ffb3b3;background:#821e1e2e;border-color:#dc5a5a80}.simulation-date-block{background:var(--bg-card);border:1px solid var(--border);border-radius:7px;gap:7px;margin-bottom:10px;padding:10px;display:grid}.simulation-date-block label,.simulation-speed-field>span{color:var(--text-muted);font-size:var(--font-xs)}.simulation-date-block input[type=date],.simulation-speed-field select{width:100%;min-height:34px;color:var(--text-main);border:1px solid var(--border-hover);background:#0b131c;border-radius:6px;outline:none;padding:7px 9px}.simulation-date-block input[type=date]:focus,.simulation-speed-field select:focus{border-color:#7f9dbb}.simulation-range-labels{color:var(--text-muted);font-size:var(--font-xs);justify-content:space-between;align-items:center;gap:10px;display:flex}.simulation-range-input{accent-color:#e6eef7;cursor:pointer;width:100%}.simulation-transport{grid-template-columns:42px minmax(0,1fr) 42px;gap:7px;margin-bottom:10px;display:grid}.simulation-transport button,.simulation-reset-button{min-height:34px;color:var(--text-heading);border:1px solid var(--border-hover);cursor:pointer;background:#0d1b2a;border-radius:7px;font-weight:700}.simulation-transport button:hover,.simulation-reset-button:hover{background:#13283d}.simulation-play-button{color:var(--accent-text)!important;background:var(--accent)!important}.simulation-speed-field{gap:4px;margin-bottom:10px;display:grid}.simulation-legend{border:1px solid var(--border);border-radius:7px;gap:1px;margin-bottom:10px;display:grid;overflow:hidden}.simulation-legend>div{background:var(--bg-card);border-bottom:1px solid var(--border);min-height:32px;font-size:var(--font-sm);grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;display:grid}.simulation-legend>div:last-child{border-bottom:0}.simulation-legend strong{color:var(--text-heading);font-size:var(--font-sm)}.simulation-swatch{border:1px solid #ffffff61;border-radius:3px;width:11px;height:11px}.simulation-swatch-complete{background:#6fcb8a}.simulation-swatch-active{background:#e8b04a}.simulation-swatch-future{background:repeating-linear-gradient(135deg,#25313d,#25313d 3px,#101820 3px 6px)}.simulation-swatch-unlinked{background:#8fa3b8}.simulation-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px;display:grid}.simulation-summary-grid>div{background:var(--bg-card);border:1px solid var(--border);border-radius:7px;gap:4px;padding:8px 9px;display:grid}.simulation-summary-grid span{color:var(--text-muted);font-size:var(--font-xs)}.simulation-summary-grid strong{color:var(--text-heading);font-size:var(--font-lg)}.simulation-reset-button{width:100%}@media (width<=1180px){.simulation-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,370px)}}@media (width<=920px){.simulation-workspace{grid-template-rows:minmax(360px,1fr) minmax(0,auto);grid-template-columns:1fr;overflow-y:auto}.simulation-side-column{overflow:visible}.simulation-side-column .properties-panel{max-height:360px}}.simulation-workspace{--coordinate-readout-reserved-height:26px;min-width:0;min-height:0;padding:var(--gap);display:block;position:relative;overflow:hidden}.simulation-viewer-column{width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.simulation-viewer-column .viewer-panel{width:100%;height:100%}.simulation-viewer-column .viewer-coordinate-readout{right:var(--gap);bottom:var(--gap);width:min(var(--properties-panel-current-width), calc(100% - (var(--gap) * 2)))}.floating-simulation-controls,.simulation-properties-panel{top:var(--gap);height:var(--browser-collapsed-height);min-height:var(--browser-collapsed-height);max-height:var(--browser-collapsed-height);will-change:height;flex-direction:column;transition:height .18s,min-height .18s,max-height .18s,box-shadow .18s;display:flex;bottom:auto;overflow:hidden}.floating-simulation-controls{right:auto}.simulation-properties-panel{right:var(--gap);left:auto}.floating-simulation-controls:hover,.floating-simulation-controls:focus-within,.floating-simulation-controls.floating-panel-pinned,.simulation-properties-panel:hover,.simulation-properties-panel:focus-within,.simulation-properties-panel.floating-panel-pinned{z-index:30;height:calc(100% - (var(--gap) * 2));min-height:calc(100% - (var(--gap) * 2));max-height:calc(100% - (var(--gap) * 2));box-shadow:0 16px 42px #0000008c}.floating-simulation-controls-resizable{box-sizing:border-box;min-width:360px;max-width:720px;overflow:visible}.floating-simulation-controls .simulation-controls-panel{box-sizing:border-box;width:100%;height:100%;min-height:0;max-height:100%;padding:var(--panel-padding);color:var(--text-main);scrollbar-gutter:stable;background:0 0;border:0;border-radius:0;overflow:hidden auto}.floating-simulation-controls .simulation-panel-heading{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#091a2cf5;padding-right:48px;position:sticky;top:0}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-controls-panel>:not(.simulation-panel-heading){visibility:hidden;opacity:0;pointer-events:none}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-controls-panel{overflow:hidden}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-panel-heading{min-height:calc(var(--browser-collapsed-height) - (var(--panel-padding) * 2));border-bottom:0;justify-content:center;align-items:center;margin:0;padding:0 48px 0 0}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-panel-heading>div{width:100%}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-panel-heading h2{text-align:center;white-space:nowrap;width:100%;margin:0}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-panel-heading p,.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-running-badge,.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned) .simulation-paused-badge{display:none}.floating-simulation-controls:hover .simulation-controls-panel,.floating-simulation-controls:focus-within .simulation-controls-panel,.floating-simulation-controls.floating-panel-pinned .simulation-controls-panel{height:100%;min-height:0;overflow:hidden auto}.floating-simulation-controls:not(:hover):not(:focus-within):not(.floating-panel-pinned):after{content:"▼";color:var(--text-muted);pointer-events:none;font-size:8px;position:absolute;top:50%;right:54px;transform:translateY(-50%)}.simulation-workspace.simulation-properties-is-pinned .simulation-properties-panel.floating-panel-pinned{bottom:calc(var(--coordinate-readout-reserved-height) + (var(--gap) * 2));height:auto;min-height:0;max-height:calc(100% - var(--coordinate-readout-reserved-height) - (var(--gap) * 4))}@media (width<=1100px){.floating-simulation-controls-resizable{min-width:320px;max-width:calc(100% - (var(--gap) * 2))}.simulation-properties-panel{max-width:calc(100% - (var(--gap) * 2))}}.model-environment,.simulation-workspace{--coordinate-readout-reserved-height:35px}.model-environment .viewer-coordinate-readout,.simulation-workspace .viewer-coordinate-readout{box-sizing:border-box;height:35px;min-height:35px;max-height:35px;padding:4px 9px}.model-environment .coordinate-row-only,.simulation-workspace .coordinate-row-only{align-content:center;height:100%;min-height:0}.floating-properties,.floating-target-browser,.floating-simulation-controls{background:#1018209e}.properties-panel .property-group{background:#ffffff05}.properties-panel .property-group[open]{background:#ffffff06}.properties-panel .property-group-row{background:0 0}.properties-panel .property-group-property-name,.properties-panel .property-group-property-unit,.properties-panel .property-group-meta{color:var(--text-muted)}.properties-panel .property-group-property-value,.properties-panel .property-group-row{color:var(--text-main)}.floating-target-browser .element-browser-empty{color:var(--text-muted);background:#ffffff06}.floating-target-browser .element-selection-card,.floating-target-browser .multi-selection-card{background:#ffffff09}.floating-target-browser .selection-builder,.floating-target-browser .selection-set-empty,.floating-target-browser .selection-set-card{background:#ffffff06}.floating-target-browser .parameter-selection-step{background:#07142273}.floating-target-browser .parameter-model-list,.floating-target-browser .parameter-shared-values{background:#00000024}.floating-target-browser .parameter-selection-status,.floating-target-browser .element-property-status{background:#ffffff06}.floating-target-browser .parameter-model-option,.floating-target-browser .parameter-shared-value-option,.floating-target-browser .parameter-show-single-values{color:var(--text-main)}.floating-target-browser .model-browser-visibility,.floating-target-browser .selection-builder-summary,.floating-target-browser .parameter-field select:disabled,.floating-target-browser .selection-set-create-button:disabled,.floating-target-browser .parameter-action-button:disabled{color:var(--text-muted)}.floating-target-browser .selection-builder-summary strong,.floating-target-browser .multi-selection-count,.floating-target-browser .element-selection-name{color:var(--text-heading)}.floating-target-browser .selection-set-method-badge,.floating-target-browser .parameter-shared-value-option>strong{background:#ffffff0f}.floating-simulation-controls .simulation-controls-panel{background:var(--bg-panel)}.floating-simulation-controls .simulation-empty-state,.floating-simulation-controls .simulation-date-block,.floating-simulation-controls .simulation-legend>div,.floating-simulation-controls .simulation-summary-grid>div{background:var(--bg-card)}.floating-simulation-controls .simulation-panel-heading p,.floating-simulation-controls .simulation-date-block label,.floating-simulation-controls .simulation-speed-field>span,.floating-simulation-controls .simulation-range-labels,.floating-simulation-controls .simulation-summary-grid span,.floating-simulation-controls .simulation-paused-badge{color:var(--text-muted)}.floating-simulation-controls .simulation-legend>div,.floating-simulation-controls .simulation-date-block input[type=date],.floating-simulation-controls .simulation-speed-field select{color:var(--text-main)}.floating-simulation-controls .simulation-legend strong,.floating-simulation-controls .simulation-summary-grid strong{color:var(--text-heading)}.floating-simulation-controls .simulation-date-block input[type=date],.floating-simulation-controls .simulation-speed-field select{background:#0b131c}.floating-model-browser,.floating-target-browser,.floating-properties{background:#1018209e}.floating-model-browser .model-browser-empty{color:var(--text-muted);background:#ffffff06}.floating-model-browser .model-card,.floating-model-browser .model-card-selected{color:var(--text-main);border-color:var(--border);background:#ffffff06}.floating-model-browser .model-card:hover{border-color:var(--accent);background:#ffffff09}.floating-model-browser,.floating-target-browser,.floating-properties,.viewer-coordinate-readout{background:var(--bg-panel);-webkit-backdrop-filter:none;backdrop-filter:none}.floating-model-browser .model-browser,.floating-target-browser .target-browser,.floating-properties .properties-panel{background:var(--bg-panel)}.floating-model-browser .model-browser-empty,.floating-model-browser .model-card,.floating-model-browser .model-card-selected{color:var(--text-main);background:var(--bg-card);border-color:var(--border)}.floating-model-browser .model-card:hover{background:var(--bg-hover);border-color:var(--accent)}.floating-model-browser .model-card-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.floating-model-browser .model-card-title{color:var(--text-heading)}.floating-model-browser .model-browser-project,.floating-model-browser .model-card-meta,.floating-model-browser .model-card-description,.floating-model-browser .model-card-coordinate,.floating-model-browser .model-browser-visibility{color:var(--text-muted)}.floating-target-browser .target-browser-tabs{background:var(--bg-panel)}.floating-target-browser .target-tab,.floating-target-browser .selection-builder,.floating-target-browser .selection-set-empty,.floating-target-browser .selection-set-card,.floating-target-browser .element-browser-empty,.floating-target-browser .element-selection-card,.floating-target-browser .multi-selection-card,.floating-target-browser .parameter-selection-step,.floating-target-browser .parameter-model-list,.floating-target-browser .parameter-shared-values,.floating-target-browser .parameter-selection-status,.floating-target-browser .element-property-status{background:var(--bg-card)}.floating-target-browser .selection-set-card:hover,.floating-target-browser .element-selection-card:hover,.floating-target-browser .multi-selection-card:hover{background:var(--bg-hover)}.floating-target-browser .selection-set-name-input,.floating-target-browser .parameter-field select{color:var(--text-main);background:#0b131c}.floating-target-browser .selection-builder p,.floating-target-browser .selection-set-empty,.floating-target-browser .selection-set-count,.floating-target-browser .selection-set-models,.floating-target-browser .element-selection-meta,.floating-target-browser .element-selection-global-id,.floating-target-browser .element-property-status,.floating-target-browser .multi-selection-card p,.floating-target-browser .target-browser p,.floating-target-browser .parameter-selection-step-heading span,.floating-target-browser .parameter-model-option small,.floating-target-browser .parameter-field,.floating-target-browser .parameter-selection-status,.floating-target-browser .parameter-selection-empty,.floating-target-browser .selection-set-method-badge{color:var(--text-muted)}.floating-properties .property-group,.floating-properties .property-group[open],.floating-properties .property-group-row{background:var(--bg-card)}.floating-properties .property-group-summary,.floating-properties .property-group-table-header{background:#091a2cf5}.floating-properties .property-group-summary:hover{background:#0b1f33fa}.floating-properties .property-group-property-name,.floating-properties .property-group-property-unit,.floating-properties .property-group-meta{color:var(--text-muted)}.floating-properties .property-group-property-value,.floating-properties .property-group-row{color:var(--text-main)}.viewer-coordinate-readout{color:var(--text-main);border-color:var(--border);box-shadow:0 12px 32px #00000059}.viewer-coordinate-readout .coordinate-label{color:var(--text-heading)}.simulation-workspace .simulation-selection-panel{display:none!important}.simulation-workspace .floating-simulation-controls{left:var(--gap)!important}.floating-properties .property-group-row{color:#111820;background:#eef1f4;border-bottom-color:#c7cdd3}.floating-properties .property-group-row:last-child{border-bottom:0}.floating-properties .property-group-row .property-group-property-name,.floating-properties .property-group-row .property-group-property-value,.floating-properties .property-group-row .property-group-property-unit{color:#111820}.floating-properties .property-group-row .property-group-property-name{font-weight:700}.floating-target-browser .target-tab{color:var(--text-muted);border:1px solid var(--border-hover);font-size:var(--font-xs);background:0 0;border-radius:6px;padding:6px 8px;font-weight:600}.floating-target-browser .target-tab:hover,.floating-target-browser .target-tab-active{color:var(--text-heading);background:var(--bg-hover);border-color:var(--accent)}.quantum-user-summary{align-items:center;gap:7px;min-width:0;max-width:190px;display:flex}.quantum-user-details{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.quantum-user-name{max-width:120px;color:var(--text-heading);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.quantum-user-role{color:var(--text-muted);font-size:10px;line-height:1.15}.quantum-signout-button{color:var(--text-muted);border:1px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:5px 7px;font-size:10px}.quantum-signout-button:hover{color:#fff;background:#b4373759;border-color:#ff7878bf}.topbar-account-divider{background:var(--border-subtle);width:1px;height:26px}@media (width>=1100px){:root{--topbar-side-width:430px}}.quantum-auth-screen{color:#f5f8fb;background:radial-gradient(circle at 50% 12%,#2670bf3d,#0000 38%),linear-gradient(145deg,#07101d,#0b1728 52%,#07101d);place-items:center;min-height:100vh;padding:28px;display:grid}.quantum-auth-card{text-align:center;background:#0e1b2df2;border:1px solid #87add640;border-radius:18px;width:min(430px,100%);padding:38px 40px 36px;box-shadow:0 24px 80px #0000006b}.quantum-auth-card-loading{padding-bottom:32px}.quantum-auth-logo{object-fit:contain;width:78px;height:78px;margin-bottom:18px}.quantum-auth-brand{color:#78aee4;letter-spacing:.22em;margin-bottom:6px;font-size:12px;font-weight:800}.quantum-auth-card h1{letter-spacing:-.035em;margin:0;font-size:31px}.quantum-auth-card p{color:#b8c7d8;margin:14px auto 24px;line-height:1.58}.quantum-auth-button{color:#fff;width:100%;min-height:46px;font:inherit;cursor:pointer;background:#1769b5;border:1px solid #4b91d5;border-radius:9px;font-weight:700}.quantum-auth-button:hover:not(:disabled){background:#2177c8}.quantum-auth-button:disabled{cursor:not-allowed;opacity:.55}.quantum-auth-warning,.quantum-auth-error{text-align:left;border-radius:8px;margin:0 0 18px;padding:11px 13px;font-size:13px;line-height:1.45}.quantum-auth-warning{color:#f2cf89;background:#f5be501a;border:1px solid #f5be5066}.quantum-auth-error{color:#ffb5b3;background:#ef64611a;border:1px solid #ef646166}.quantum-auth-loader{border:3px solid #7db2e633;border-top-color:#7db2e6;border-radius:50%;width:28px;height:28px;margin:0 auto 16px;animation:.85s linear infinite quantum-auth-spin}@keyframes quantum-auth-spin{to{transform:rotate(360deg)}}.floating-model-browser-resizable,.floating-target-browser-resizable,.floating-properties-resizable{box-sizing:border-box}.floating-model-browser-resizable .model-browser,.floating-target-browser-resizable .target-browser,.floating-properties-resizable .properties-panel{box-sizing:border-box;width:100%;max-width:100%}.browser-resize-handle{z-index:80;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:11px;position:absolute;top:7px;bottom:7px}.browser-resize-handle-right{right:0}.browser-resize-handle:before{content:"";background:0 0;border-radius:999px;width:2px;transition:background .12s,box-shadow .12s;position:absolute;top:0;bottom:0;right:0}.browser-resize-handle>span{opacity:0;background:repeating-linear-gradient(#e6eef76b 0 3px,#0000 3px 6px);border-radius:999px;width:7px;height:42px;transition:opacity .12s,background .12s;position:absolute;top:50%;right:1px;transform:translateY(-50%)}.browser-resize-handle:hover:before,.browser-resize-handle:focus-visible:before,.panel-width-is-resizing .browser-resize-handle:before{background:var(--accent);box-shadow:0 0 7px #e6eef761}.browser-resize-handle:hover>span,.browser-resize-handle:focus-visible>span,.panel-width-is-resizing .browser-resize-handle>span{opacity:1}.floating-properties-resizable{min-width:360px;max-width:900px;overflow:visible}.floating-properties-resizable .properties-panel{overflow:hidden auto}.properties-resize-handle{z-index:80;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:12px;position:absolute;top:8px;bottom:8px;left:-6px}.properties-resize-handle:before{content:"";background:0 0;border-radius:999px;width:2px;transition:background .12s,box-shadow .12s;position:absolute;top:0;bottom:0;left:5px}.properties-resize-handle>span{opacity:0;background:repeating-linear-gradient(#e6eef76b 0 3px,#0000 3px 6px);border-radius:999px;width:8px;height:42px;transition:opacity .12s,background .12s;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.properties-resize-handle:hover:before,.properties-resize-handle:focus-visible:before,.panel-width-is-resizing .properties-resize-handle:before{background:var(--accent);box-shadow:0 0 7px #e6eef761}.properties-resize-handle:hover>span,.properties-resize-handle:focus-visible>span,.panel-width-is-resizing .properties-resize-handle>span{opacity:1}.panel-width-is-resizing,.panel-width-is-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (width<=900px){.floating-properties-resizable{min-width:300px;max-width:calc(100% - (var(--gap) * 2))}}.gantt-workspace{width:100%;min-width:0}.gantt-page-header{justify-content:space-between;align-items:center;gap:14px;width:100%;min-width:0;display:flex}.gantt-page-header>div:first-child{flex:auto;min-width:0}.gantt-page-actions{flex:none;justify-content:flex-end;align-items:center;gap:7px;min-width:max-content;display:flex}.schedule-link-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--panel-radius);flex:none;grid-template-columns:minmax(155px,.75fr) minmax(240px,1.35fr) minmax(210px,1fr) auto auto;align-items:end;gap:8px;width:100%;min-width:0;padding:8px;display:grid}.schedule-link-heading{text-align:left;flex-direction:column;align-self:center;gap:2px;min-width:0;display:flex}.schedule-link-heading strong{color:var(--text-heading);font-size:var(--font-xs)}.schedule-link-heading span{color:var(--text-muted);font-size:9px;line-height:1.25}.schedule-link-field,.schedule-link-current{min-width:0;color:var(--text-muted);text-align:left;flex-direction:column;gap:3px;font-size:9px;display:flex}.schedule-link-field select{width:100%;min-width:0;height:29px;color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:5px;outline:none;padding:5px 7px}.schedule-link-field select:focus{border-color:var(--accent)}.schedule-link-field select:disabled{opacity:.48;cursor:not-allowed}.schedule-link-current{background:var(--bg-panel);border:1px solid var(--border);border-radius:5px;justify-content:center;min-height:29px;padding:5px 7px}.schedule-link-current strong{min-width:0;color:var(--text-heading);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-link-panel>.primary-button{white-space:nowrap;min-height:29px}.schedule-link-summary{color:var(--text-muted);font-size:var(--font-xs);white-space:nowrap;align-self:center}.gantt-context-note{width:100%;min-width:0}.gantt-split{grid-template-columns:minmax(760px,56%) minmax(0,1fr)}@media (width<=1200px){.gantt-page-header{align-items:flex-start}.gantt-page-actions{flex-wrap:wrap}.schedule-link-panel{grid-template-columns:minmax(140px,.8fr) minmax(190px,1.2fr) minmax(170px,1fr) auto}.schedule-link-summary{display:none}.gantt-split{grid-template-columns:minmax(700px,60%) minmax(0,1fr)}}@media (width<=900px){.gantt-page-header{flex-direction:column;align-items:flex-start}.gantt-page-actions{justify-content:flex-start;width:100%;min-width:0}.schedule-link-panel{grid-template-columns:1fr 1fr}.schedule-link-heading{grid-column:1/-1}.schedule-link-summary{display:block}}.main.main-gantt-page{grid-template-rows:var(--topbar-height) minmax(0, 1fr)}.gantt-workspace{min-width:0;min-height:0;padding:var(--gap);flex-direction:column;gap:8px;display:flex;overflow:hidden}.gantt-page-header{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--panel-radius);flex:none;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:8px 10px;display:flex}.gantt-page-header h2{color:var(--text-heading);font-size:var(--font-base);text-align:left;margin:0}.gantt-page-header p{color:var(--text-muted);font-size:var(--font-xs);text-align:left;margin:3px 0 0}.gantt-page-actions,.gantt-link-toolbar{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.primary-button{color:var(--accent-text);background:var(--accent);cursor:pointer;border:0;border-radius:6px;padding:7px 10px;font-weight:700}.primary-button:disabled{opacity:.42;cursor:not-allowed}.gantt-empty-page{color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--panel-radius);text-align:left;padding:18px}.gantt-empty-page h2{color:var(--text-heading);margin:0 0 5px}.gantt-create-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--panel-radius);flex:none;grid-template-columns:80px minmax(220px,1fr) 135px 135px 90px auto;align-items:end;gap:7px;padding:8px;display:grid}.gantt-create-panel label{min-width:0;color:var(--text-muted);font-size:var(--font-xs);text-align:left;flex-direction:column;gap:3px;display:flex}.gantt-create-panel input{width:100%;min-width:0;color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:5px;outline:none;padding:6px 7px}.gantt-create-panel input:focus{border-color:var(--accent)}.gantt-board{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--panel-radius);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.gantt-board-empty{color:var(--text-muted);font-size:var(--font-xs);text-align:center;justify-content:center;align-items:center;padding:20px}.gantt-board-toolbar{background:var(--bg-card);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.gantt-board-summary{min-width:0;color:var(--text-muted);font-size:var(--font-xs);align-items:center;gap:10px;display:flex}.gantt-board-summary strong{color:var(--text-heading)}.gantt-view-mode{align-items:center;gap:3px;display:flex}.gantt-view-button{color:var(--text-muted);border:1px solid var(--border);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px}.gantt-view-button:hover,.gantt-view-button-active{color:var(--text-heading);background:var(--bg-hover);border-color:var(--accent)}.gantt-split{flex:auto;grid-template-columns:minmax(580px,46%) minmax(0,1fr);min-width:0;min-height:0;display:grid}.gantt-left-pane,.gantt-right-pane{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.gantt-left-pane{border-right:1px solid var(--border)}.gantt-table-header{min-width:0;color:var(--text-muted);background:var(--bg-card);border-bottom:1px solid var(--border);font-size:var(--font-xs);flex:0 0 50px;align-items:stretch;font-weight:700;display:grid}.gantt-table-header>span{border-right:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;padding:6px;display:flex;overflow:hidden}.gantt-table-header>span:last-child{border-right:0}.gantt-left-body{scrollbar-gutter:stable;flex:auto;min-height:0;overflow:hidden auto}.gantt-table-row{color:var(--text-main);border-bottom:1px solid var(--border);font-size:var(--font-xs);text-align:left;cursor:pointer;background:0 0;align-items:stretch;display:grid}.gantt-table-row:hover,.gantt-row-selected{background:var(--bg-hover)}.gantt-table-row>div{border-right:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;padding:5px 6px;display:flex;overflow:hidden}.gantt-table-row>div:last-child{border-right:0}.gantt-cell-wbs{color:var(--accent);font-weight:700}.gantt-cell-task{flex-direction:column;justify-content:center;gap:1px;white-space:normal!important;align-items:flex-start!important;display:flex!important}.gantt-cell-task strong{max-width:100%;color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-cell-task small{color:var(--text-muted);font-size:9px}.gantt-cell-progress,.gantt-cell-actions{justify-content:center}.gantt-row-delete{color:#f2a6a6;border:1px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:4px;padding:3px 5px;font-size:9px}.gantt-row-delete:hover{color:#fff;background:#b4373780}.gantt-time-header-scroll{background:var(--bg-card);border-bottom:1px solid var(--border);flex:0 0 50px;min-width:0;overflow:hidden}.gantt-time-header{height:50px;position:relative}.gantt-month-row,.gantt-week-row{height:25px;position:relative}.gantt-month-row{border-bottom:1px solid var(--border)}.gantt-month-band,.gantt-week-tick{color:var(--text-muted);border-right:1px solid var(--border);white-space:nowrap;align-items:center;padding:0 5px;font-size:9px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-month-band{color:var(--text-heading);justify-content:center}.gantt-right-body{scrollbar-gutter:stable;flex:auto;min-width:0;min-height:0;position:relative;overflow:auto}.gantt-time-canvas{background:linear-gradient(to bottom, transparent 41px, var(--border) 41px, var(--border) 42px);background-size:100% 42px;position:relative}.gantt-grid-line{background:var(--border);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.gantt-bar{height:24px;color:var(--accent-text);background:var(--gantt-bar-base,var(--accent));cursor:pointer;--gantt-bar-base:var(--accent);--gantt-bar-progress:#7ed32194;--gantt-future-border:#b8e6bcbf;--gantt-future-fill:#9ad6a038;--gantt-future-light:#b8e6bc9e;--gantt-future-dark:#6da57547;border:1px solid #ffffff52;border-radius:4px;padding:0 5px;position:absolute;overflow:hidden}.gantt-bar:hover,.gantt-bar-selected{z-index:4;outline-offset:1px;outline:2px solid #7ed321}.gantt-bar-progress{background:var(--gantt-bar-progress);position:absolute;inset:0 auto 0 0}.gantt-bar-label{z-index:2;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;line-height:21px;display:block;position:relative;overflow:hidden}.gantt-bar-complete{--gantt-bar-base:#5ea96a;--gantt-bar-progress:#6cc279e0;--gantt-future-border:#b8e6bcbf;--gantt-future-fill:#9ad6a038;--gantt-future-light:#b8e6bc9e;--gantt-future-dark:#6da57547;background:var(--gantt-bar-base)}.gantt-bar-incomplete{--gantt-bar-base:#2f6fb6;--gantt-bar-progress:#6caae7d1;--gantt-future-border:#a2c8f4c7;--gantt-future-fill:#6396db38;--gantt-future-light:#a2c8f4a3;--gantt-future-dark:#3f6ead4d;background:var(--gantt-bar-base)}.gantt-link-toolbar{flex-wrap:wrap}.gantt-link-selection{background:var(--bg-card);border:1px solid var(--border);text-align:left;border-radius:5px;flex-direction:column;gap:1px;min-width:130px;max-width:210px;padding:4px 7px;display:flex}.gantt-link-selection span{color:var(--text-muted);font-size:9px}.gantt-link-selection strong{color:var(--text-heading);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-context-note{color:var(--text-muted);border:1px dashed var(--border);font-size:var(--font-xs);text-align:left;background:#ffffff06;border-radius:6px;flex:none;padding:6px 9px}.gantt-cell-targets{white-space:normal!important}.gantt-target-list{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;max-height:32px;display:flex;overflow:hidden}.gantt-target-chip{max-width:150px;color:var(--text-heading);background:var(--bg-card);border:1px solid var(--accent);border-radius:999px;align-items:center;gap:3px;padding:2px 4px;font-size:9px;display:inline-flex}.gantt-target-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-target-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;padding:0;line-height:1}.gantt-target-chip button:hover{color:#fff}.gantt-unlinked{color:var(--text-muted);font-style:italic}@media (width<=1200px){.gantt-split{grid-template-columns:minmax(520px,50%) minmax(0,1fr)}.gantt-create-panel{grid-template-columns:70px minmax(180px,1fr) 125px 125px 80px auto}}@media (width<=900px){.gantt-page-header{flex-direction:column;align-items:flex-start}.gantt-page-actions,.gantt-link-toolbar{justify-content:flex-start;width:100%}.gantt-create-panel{grid-template-columns:1fr 1fr}.gantt-create-name{grid-column:1/-1}.gantt-split{grid-template-columns:minmax(500px,58%) minmax(600px,1fr);overflow-x:auto}}.main.main-gantt-page{width:100%;min-width:0;min-height:0}.main.main-gantt-page>.gantt-workspace{place-self:stretch stretch;width:100%;min-width:0;height:100%;min-height:0}.gantt-workspace{width:100%;max-width:none;height:100%;text-align:initial;margin:0}.gantt-page-header,.gantt-create-panel,.gantt-board,.gantt-split{width:100%;max-width:none}.gantt-board{height:100%}.gantt-left-pane,.gantt-right-pane,.gantt-left-body,.gantt-right-body{width:100%}.gantt-table-header,.gantt-table-row{text-align:left}.gantt-time-header-scroll,.gantt-right-body{min-width:0}.gantt-today-marker{pointer-events:none;background:repeating-linear-gradient(#ff3b30 0 6px,#0000 6px 11px);width:2px;position:absolute}.gantt-today-marker-header{z-index:12;top:0;bottom:0}.gantt-today-marker-body{z-index:10;filter:drop-shadow(0 0 2px #ff3b3073);top:0;bottom:0}.gantt-today-label{color:#fff;white-space:nowrap;background:#ff3b30;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:2px;left:50%;transform:translate(-50%)}@media (width<=900px){.gantt-editor-heading{flex-direction:column;align-items:flex-start;gap:3px}.gantt-editor-heading span{text-align:left}}.gantt-editor-heading{border-bottom:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-bottom:6px;display:flex}.gantt-editor-heading strong{min-width:0;color:var(--text-heading);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-editor-heading span{color:var(--text-muted);text-align:right;font-size:9px}.gantt-form-actions{align-items:center;gap:5px;display:flex}.gantt-form-actions .primary-button,.gantt-form-actions .secondary-button{white-space:nowrap;min-width:0;padding:6px 8px}.gantt-row-actions{justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.gantt-row-edit{color:var(--text-heading);border:1px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:4px;padding:3px 6px;font-size:9px}.gantt-row-edit:hover{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.gantt-row-actions .gantt-row-delete{padding:3px 6px}@media (width<=900px){.gantt-editor-heading{flex-direction:column;align-items:flex-start;gap:3px}.gantt-editor-heading span{text-align:left}}.gantt-table-header,.gantt-time-header-scroll{scrollbar-gutter:stable;overflow-y:auto}.gantt-table-header,.gantt-table-row,.gantt-table-header>span,.gantt-table-row>div{box-sizing:border-box}.gantt-cell-task{justify-content:flex-start;align-items:center!important;display:flex!important}.gantt-task-name{width:100%;min-width:0;color:var(--text-heading);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.25;display:block;overflow:hidden}.gantt-task-name-summary{font-weight:700}.gantt-bar,.gantt-bar-complete,.gantt-bar-in-progress,.gantt-bar-not-started{color:#0000;background:#7eb986b8;border-color:#abdab1c7;padding:0;box-shadow:inset 0 1px #ffffff1f}.gantt-bar-progress,.gantt-bar-label{display:none}.gantt-bar:hover,.gantt-bar-selected{outline-color:#b8e6bc}.gantt-bar-unlinked{opacity:.78}.gantt-bar-linked{opacity:1;box-shadow:inset 0 -3px #c7f3a4,inset 0 1px #ffffff24}.gantt-cell-task{height:100%;min-height:0;white-space:normal!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;display:flex!important}.gantt-task-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:center;width:100%;min-width:0;height:100%;line-height:1.15;display:flex;overflow:hidden}.gantt-wbs-value{align-items:center;width:100%;height:100%;line-height:1.15;display:flex}.gantt-hierarchy-level-1{font-size:12px;font-weight:750}.gantt-hierarchy-level-2{font-size:11px;font-weight:700}.gantt-hierarchy-level-3{font-size:10.25px;font-weight:600}.gantt-hierarchy-level-4{font-size:9.5px;font-weight:500}.gantt-hierarchy-level-5{font-size:9px;font-weight:450}.gantt-task-name-summary{color:var(--text-heading);font-weight:700}.gantt-task-name-summary.gantt-hierarchy-level-1{font-weight:800}.gantt-task-name-summary.gantt-hierarchy-level-2{font-weight:750}.gantt-table-row{color:#111820;background:#eef1f4;border-bottom-color:#c7cdd3}.gantt-table-row:hover,.gantt-row-selected{color:#111820;background:#dde3e8}.gantt-row-selected{box-shadow:inset 3px 0 0 var(--accent)}.gantt-table-row>div{border-right-color:#c7cdd3}.gantt-table-row,.gantt-table-row *,.gantt-table-row .gantt-cell-wbs,.gantt-table-row .gantt-task-name,.gantt-table-row .gantt-task-name-summary,.gantt-table-row .gantt-cell-task strong,.gantt-table-row .gantt-cell-task small,.gantt-table-row .gantt-unlinked,.gantt-table-row .gantt-target-chip,.gantt-table-row .gantt-target-chip button{color:#111820}.gantt-table-row .gantt-target-chip{background:#f7f8f9;border-color:#7d8b97}.gantt-table-row .gantt-row-edit,.gantt-table-row .gantt-row-delete{color:#111820;background:#f7f8f9;border-color:#7d8b97}.gantt-table-row .gantt-row-edit:hover{color:#111820;background:#d6dde3;border-color:#5d6b77}.gantt-table-row .gantt-row-delete:hover{color:#7f1515;background:#f1d7d7;border-color:#b65a5a}.gantt-right-pane,.gantt-right-body{background:var(--bg-panel)}.gantt-time-header-scroll{background:var(--bg-card);border-bottom-color:var(--border)}.gantt-time-header,.gantt-month-row,.gantt-week-row{background:var(--bg-card)}.gantt-month-row{border-bottom-color:var(--border)}.gantt-month-band,.gantt-week-tick{color:var(--text-muted);border-right-color:var(--border)}.gantt-month-band{color:var(--text-heading)}.gantt-time-canvas{background:repeating-linear-gradient(#eef1f4 0 41px,#c7cdd3 41px 42px)}.gantt-grid-line{background:#c7cdd3}.gantt-right-body{scrollbar-gutter:auto;overscroll-behavior-x:contain;overflow:auto hidden}.gantt-time-header-scroll{overflow:hidden}.gantt-time-header,.gantt-time-canvas{min-width:100%}.gantt-right-body::-webkit-scrollbar{width:0;height:12px}.gantt-right-body::-webkit-scrollbar-track{background:var(--bg-card)}.gantt-right-body::-webkit-scrollbar-thumb{background:var(--border-hover);border:3px solid var(--bg-card);border-radius:999px}.gantt-right-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.gantt-toolbar-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gantt-zoom-control{min-width:0;color:var(--text-muted);font-size:var(--font-xs);grid-template-columns:auto minmax(110px,190px) 42px auto;align-items:center;gap:7px;display:grid}.gantt-zoom-control input[type=range]{width:100%;min-width:110px;accent-color:var(--accent);cursor:pointer;margin:0}.gantt-zoom-control strong{color:var(--text-heading);font-variant-numeric:tabular-nums;text-align:right}.gantt-fit-button{color:var(--text-muted);border:1px solid var(--border);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px}.gantt-fit-button:hover{color:var(--text-heading);background:var(--bg-hover);border-color:var(--accent)}@media (width<=980px){.gantt-board-toolbar{align-items:flex-start}.gantt-toolbar-controls{flex-wrap:wrap}.gantt-zoom-control{grid-template-columns:auto minmax(90px,140px) 42px auto}}.gantt-bar-future{border-left:1px solid var(--gantt-future-border);background-color:var(--gantt-future-fill);background-image:repeating-linear-gradient(135deg, var(--gantt-future-light) 0px, var(--gantt-future-light) 6px, var(--gantt-future-dark) 6px, var(--gantt-future-dark) 12px);pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}.gantt-task-cell-content{align-items:center;width:100%;min-width:0;height:100%;display:flex}.gantt-task-collapse-indent{flex:none;height:1px}.gantt-task-collapse-button,.gantt-task-collapse-spacer{flex:0 0 18px;width:18px;height:18px;margin-right:4px}.gantt-task-collapse-button{color:#111820;cursor:pointer;background:#f7f8f9;border:1px solid #7d8b97;border-radius:4px;place-items:center;padding:0;font-size:11px;font-weight:800;line-height:1;display:grid}.gantt-task-collapse-button:hover,.gantt-task-collapse-button:focus-visible{background:#d6dde3;border-color:#5d6b77;outline:none}.gantt-task-render{flex:auto;align-items:center;min-width:0;height:100%;display:flex}.gantt-task-cell-content .gantt-task-name{padding-left:0!important}.gantt-bar.gantt-bar-incomplete{color:#0000;--gantt-bar-base:#4f8fcf;--gantt-bar-progress:#5b9ddbeb;--gantt-future-border:#89b8e7e6;--gantt-future-fill:#4f8fcf3d;--gantt-future-light:#78b0e5c7;--gantt-future-dark:#396fa76b;background:#4f8fcf;border-color:#8ebeece0}.gantt-bar.gantt-bar-complete{color:#0000;--gantt-bar-base:#7eb986b8;--gantt-bar-progress:#7eb986b8;--gantt-future-border:#b8e6bcbf;--gantt-future-fill:#9ad6a038;--gantt-future-light:#b8e6bc9e;--gantt-future-dark:#6da57547;background:#7eb986b8;border-color:#abdab1c7}.gantt-bar.gantt-bar-incomplete .gantt-bar-future,.gantt-bar.gantt-bar-complete .gantt-bar-future{border-left-color:var(--gantt-future-border);background-color:var(--gantt-future-fill);background-image:repeating-linear-gradient(135deg, var(--gantt-future-light) 0, var(--gantt-future-light) 6px, var(--gantt-future-dark) 6px, var(--gantt-future-dark) 12px)}.gantt-bar.gantt-bar-incomplete.gantt-bar-linked{box-shadow:inset 0 -3px #9bc9f3,inset 0 1px #ffffff24}.gantt-bar.gantt-bar-complete.gantt-bar-linked{box-shadow:inset 0 -3px #c7f3a4,inset 0 1px #ffffff24}.schedule-import-overlay{z-index:5000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04090ec7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.schedule-import-dialog{width:min(1050px,96vw);min-height:500px;max-height:90vh;color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 18px 55px #0000008c}.schedule-import-header{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.schedule-import-header h2{color:var(--text-heading);margin:0;font-size:16px}.schedule-import-header p{color:var(--text-muted);font-size:var(--font-xs);margin:4px 0 0}.schedule-import-close{width:30px;height:30px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;padding:0;font-size:20px;line-height:1}.schedule-import-close:hover{color:#fff;background:var(--bg-hover)}.schedule-import-file-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px 16px 8px;display:grid}.schedule-import-file{color:var(--text-muted);font-size:var(--font-xs);text-align:left;flex-direction:column;gap:5px;display:flex}.schedule-import-file input{width:100%;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-hover);border-radius:6px;padding:7px}.schedule-import-file-summary{color:var(--text-muted);border:1px solid var(--border);font-size:var(--font-xs);background:#ffffff06;border-radius:5px;justify-content:space-between;gap:12px;margin:0 16px 8px;padding:7px 9px;display:flex}.schedule-import-file-summary strong{color:var(--text-heading)}.schedule-import-error{color:#ffd0d0;font-size:var(--font-xs);text-align:left;background:#aa28283d;border:1px solid #ff69698c;border-radius:6px;margin:0 16px 10px;padding:8px 10px}.schedule-import-stats{grid-template-columns:minmax(180px,1.8fr) repeat(4,minmax(90px,.7fr));gap:7px;padding:0 16px 10px;display:grid}.schedule-import-stats>div{background:var(--bg-card);border:1px solid var(--border);text-align:left;border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:7px 9px;display:flex}.schedule-import-stats span{color:var(--text-muted);font-size:9px}.schedule-import-stats strong{color:var(--text-heading);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-import-option{color:var(--text-main);font-size:var(--font-xs);text-align:left;align-items:center;gap:7px;margin:0 16px 9px;display:flex}.schedule-import-warnings{color:#ffd79a;font-size:var(--font-xs);text-align:left;background:#8a5b1429;border:1px solid #dc9d3961;border-radius:6px;margin:0 16px 9px;padding:7px 9px}.schedule-import-warnings summary{cursor:pointer;font-weight:700}.schedule-import-warnings ul{margin:7px 0 0;padding-left:18px}.schedule-import-preview{border:1px solid var(--border);border-radius:7px;flex-direction:column;flex:auto;min-height:180px;margin:0 16px;display:flex;overflow:hidden}.schedule-import-preview-header,.schedule-import-preview-row{grid-template-columns:90px minmax(240px,1fr) 105px 105px 55px 80px;align-items:center;display:grid}.schedule-import-preview-header{color:var(--text-muted);background:var(--bg-card);border-bottom:1px solid var(--border);flex:none;font-size:9px;font-weight:700}.schedule-import-preview-header span,.schedule-import-preview-row span{border-right:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px 7px;overflow:hidden}.schedule-import-preview-header span:last-child,.schedule-import-preview-row span:last-child{border-right:0}.schedule-import-preview-body{flex:auto;min-height:0;overflow:auto}.schedule-import-preview-row{min-height:31px;color:var(--text-main);border-bottom:1px solid var(--border);text-align:left;font-size:10px}.schedule-import-preview-row:hover{background:var(--bg-hover)}.schedule-import-limit-note{color:var(--text-muted);text-align:right;padding:6px 16px 0;font-size:9px}.schedule-import-footer{color:var(--text-muted);background:var(--bg-card);border-top:1px solid var(--border);font-size:var(--font-xs);text-align:left;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.schedule-import-footer-actions{align-items:center;gap:7px;display:flex}@media (width<=760px){.schedule-import-overlay{padding:8px}.schedule-import-dialog{width:100%;max-height:96vh}.schedule-import-stats{grid-template-columns:1fr 1fr}.schedule-import-file-row{grid-template-columns:1fr}.schedule-import-preview{overflow-x:auto}.schedule-import-preview-header,.schedule-import-preview-row{min-width:720px}}.autodesk-dialog-backdrop{z-index:300;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03070cc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.autodesk-dialog{width:min(1220px,96vw);height:min(820px,92vh);color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.autodesk-dialog-header,.autodesk-connection-panel,.autodesk-panel-heading,.autodesk-model-card,.autodesk-version-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.autodesk-dialog-header{border-bottom:1px solid var(--border);flex:none;padding-bottom:10px}.autodesk-dialog-header h2,.autodesk-panel-heading h3{color:var(--text-heading);margin:0}.autodesk-dialog-header h2{font-size:var(--font-xl)}.autodesk-dialog-header p,.autodesk-panel-heading p,.autodesk-connection-panel span,.autodesk-version-card span,.autodesk-version-card small,.autodesk-model-card span,.autodesk-browser-hint{color:var(--text-muted);font-size:var(--font-xs);margin:4px 0 0}.autodesk-dialog-close{width:34px;height:34px;color:var(--text-heading);border:1px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:7px;font-size:20px}.autodesk-dialog-close:hover{background:var(--bg-hover);border-color:var(--accent)}.autodesk-browser-message,.autodesk-browser-loading,.autodesk-empty{color:var(--text-muted);border:1px dashed var(--border);font-size:var(--font-sm);text-align:left;background:#ffffff06;border-radius:7px;padding:10px}.autodesk-browser-error{color:#ffb2b2;background:#73181840;border-style:solid;border-color:#ff6e6e8c}.autodesk-connection-panel,.autodesk-files-panel,.autodesk-versions-panel,.autodesk-selected-models{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px}.autodesk-connection-panel{flex:none}.autodesk-connection-panel strong,.autodesk-connection-panel span{display:block}.autodesk-connect-grid{grid-template-columns:minmax(190px,1.1fr) minmax(220px,1.4fr) 110px auto;align-items:end;gap:8px;width:100%;display:grid}.autodesk-connect-grid label{min-width:0;color:var(--text-muted);font-size:var(--font-xs);text-align:left;flex-direction:column;gap:4px;display:flex}.autodesk-connect-grid select{min-width:0;color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-hover);border-radius:6px;padding:7px 8px}.autodesk-primary-button,.autodesk-danger-button,.autodesk-version-button{cursor:pointer;border-radius:7px;padding:8px 11px;font-weight:700}.autodesk-primary-button{color:var(--accent-text);background:var(--accent);border:1px solid var(--accent)}.autodesk-danger-button{color:#ffb2b2;background:0 0;border:1px solid #ff7878a6}.autodesk-danger-button:hover{color:#fff;background:#aa2d2d73}.autodesk-primary-button:disabled,.autodesk-danger-button:disabled,.autodesk-version-button:disabled,.autodesk-model-card button:disabled{opacity:.5;cursor:not-allowed}.autodesk-browser-layout{flex:auto;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:10px;min-height:0;display:grid}.autodesk-files-panel,.autodesk-versions-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.autodesk-panel-heading{border-bottom:1px solid var(--border);flex:none;min-height:40px;padding-bottom:8px}.autodesk-panel-heading h3{font-size:var(--font-base)}.autodesk-breadcrumbs{flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;display:flex}.autodesk-breadcrumbs span{align-items:center;gap:4px;display:flex}.autodesk-breadcrumbs i{color:var(--text-muted);font-style:normal;font-size:var(--font-xs)}.autodesk-breadcrumbs button{color:var(--accent);font-size:var(--font-xs);cursor:pointer;background:0 0;border:0;padding:0}.autodesk-entry-list,.autodesk-version-list,.autodesk-model-list{flex-direction:column;gap:6px;min-height:0;padding-top:8px;display:flex;overflow-y:auto}.autodesk-entry{width:100%;color:var(--text-main);border:1px solid var(--border);text-align:left;cursor:pointer;background:#ffffff05;border-radius:7px;grid-template-columns:28px minmax(0,1fr) minmax(100px,.45fr);align-items:center;gap:8px;padding:8px;display:grid}.autodesk-entry:hover,.autodesk-entry-selected{background:var(--bg-hover);border-color:var(--accent)}.autodesk-entry-icon{color:var(--accent);text-align:center}.autodesk-entry-details{flex-direction:column;gap:3px;min-width:0;display:flex}.autodesk-entry-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.autodesk-entry-description,.autodesk-selected-file-description,.autodesk-model-description{min-width:0;color:var(--text-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:400;line-height:1.35;overflow:hidden}.autodesk-selected-file-description{max-width:100%;margin-top:4px}.autodesk-model-description{margin-top:4px;display:block}.autodesk-entry-type{min-width:0;color:var(--text-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.autodesk-version-card,.autodesk-model-card{border:1px solid var(--border);background:#ffffff05;border-radius:7px;padding:9px}.autodesk-version-card strong,.autodesk-version-card span,.autodesk-version-card small,.autodesk-model-card strong,.autodesk-model-card span,.autodesk-model-card small{display:block}.autodesk-version-button{color:var(--text-heading);border:1px solid var(--border-hover);background:0 0;flex-shrink:0}.autodesk-version-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.autodesk-version-current{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.autodesk-selected-models{flex:none;max-height:200px;overflow:hidden}.autodesk-model-card button{color:#ffb2b2;border:1px solid var(--border-hover);font-size:var(--font-xs);cursor:pointer;background:0 0;border-radius:6px;padding:5px 8px}.autodesk-model-card button:hover{color:#fff;background:#aa2d2d73;border-color:#ff7878bf}@media (width<=900px){.autodesk-dialog{width:100%;height:96vh}.autodesk-connect-grid,.autodesk-browser-layout{grid-template-columns:1fr}.autodesk-browser-layout{overflow-y:auto}.autodesk-files-panel,.autodesk-versions-panel{min-height:300px}}.metadata-workspace{grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:14px;display:grid;overflow:hidden}.metadata-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-width:0;display:grid}.metadata-header>div:first-child{text-align:center;grid-column:2;min-width:0}.metadata-eyebrow,.metadata-panel-kicker{color:#6f879f;font-size:var(--font-xs);letter-spacing:1.3px;margin:0 0 4px;font-weight:800}.metadata-header h2,.metadata-panel-heading h3{color:var(--text-heading);margin:0}.metadata-header h2{font-size:22px}.metadata-header p:not(.metadata-eyebrow){color:var(--text-muted);margin-top:4px}.metadata-header-actions{flex:none;grid-column:3;justify-self:end;gap:8px;display:flex}.metadata-primary-button,.metadata-outline-button,.metadata-link-button,.metadata-result-tab{cursor:pointer;border-radius:7px}.metadata-primary-button{color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);padding:9px 14px;font-weight:700}.metadata-primary-button:disabled,.metadata-outline-button:disabled,.metadata-header-actions .secondary-button:disabled{cursor:not-allowed;opacity:.48}.metadata-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.metadata-summary-card{border:1px solid var(--border);background:linear-gradient(145deg,#111b24 0%,#0d141b 100%);border-radius:9px;min-width:0;padding:10px 12px}.metadata-summary-card>span{color:#7f94a9;font-size:var(--font-xs);letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;font-weight:700;display:block}.metadata-summary-card strong{max-width:100%;color:var(--text-heading);font-size:var(--font-lg);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.metadata-summary-card small{color:var(--text-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.metadata-analysis-shell{grid-template-columns:230px minmax(480px,1fr) 270px;gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.metadata-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:9px;min-width:0;min-height:0}.metadata-panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.metadata-panel-heading h3{font-size:var(--font-base)}.metadata-count-badge{color:#b8c8d7;min-width:25px;height:22px;font-size:var(--font-xs);background:#182430;border:1px solid #2c3c4c;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-weight:700;display:inline-flex}.metadata-fields-panel{grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:11px;display:grid;overflow:hidden}.metadata-search-input,.metadata-control-label select{width:100%;color:var(--text-main);border:1px solid var(--border);background:#0b1117;border-radius:7px;outline:none}.metadata-search-input{height:32px;padding:0 10px}.metadata-search-input:focus,.metadata-control-label select:focus{border-color:#5f7892;box-shadow:0 0 0 2px #5f789226}.metadata-field-groups{min-height:0;padding-right:2px;overflow:auto}.metadata-field-group+.metadata-field-group{margin-top:12px}.metadata-field-group-title{color:#72879c;font-size:var(--font-xs);letter-spacing:.7px;text-transform:uppercase;margin-bottom:5px;font-weight:800}.metadata-field-item{color:#c6d2dd;text-align:left;cursor:grab;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;width:100%;padding:6px 7px;display:flex}.metadata-field-item:hover{background:var(--bg-hover);border-color:#2b4054}.metadata-field-grip{color:#587086;letter-spacing:-2px;font-family:monospace}.metadata-centre-column{grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid}.metadata-pivot-builder{padding:11px}.metadata-pivot-heading{margin-bottom:9px}.metadata-link-button{color:#a9bbcc;font-size:var(--font-xs);background:0 0;border:1px solid #0000;padding:5px 8px}.metadata-link-button:hover{color:#fff;background:var(--bg-hover);border-color:var(--border-hover)}.metadata-pivot-zones{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.metadata-pivot-zone{background:#0b1218;border:1px dashed #314356;border-radius:7px;min-width:0;min-height:82px;padding:8px}.metadata-pivot-zone-heading{margin-bottom:7px}.metadata-pivot-zone-heading strong,.metadata-pivot-zone-heading span{display:block}.metadata-pivot-zone-heading strong{color:#d3deea;font-size:var(--font-sm)}.metadata-pivot-zone-heading span{color:#60788e;font-size:var(--font-xs);margin-top:2px}.metadata-chip-list{flex-wrap:wrap;gap:4px;display:flex}.metadata-field-chip{color:#d6e2ed;max-width:100%;font-size:var(--font-xs);white-space:nowrap;background:#172431;border:1px solid #31475a;border-radius:5px;align-items:center;gap:5px;padding:4px 6px;display:inline-flex}.metadata-results-panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.metadata-results-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.metadata-result-tabs{gap:4px;display:flex}.metadata-result-tab{color:#8fa3b8;background:0 0;border:1px solid #0000;padding:6px 9px}.metadata-result-tab:hover{color:#fff;background:var(--bg-hover)}.metadata-result-tab-active{color:#eef4f9;background:#1a2a38;border-color:#39516a}.metadata-results-status{color:#70869b;font-size:var(--font-xs)}.metadata-table-wrap{min-height:0;overflow:auto}.metadata-table{border-collapse:collapse;width:100%}.metadata-table th,.metadata-table td{text-align:left;border-bottom:1px solid #1c2935;padding:9px 10px}.metadata-table th{z-index:1;color:#8197ab;font-size:var(--font-xs);letter-spacing:.4px;text-transform:uppercase;background:#0d151c;font-weight:800;position:sticky;top:0}.metadata-table td{color:#a9b9c7}.metadata-table td:first-child strong,.metadata-table-subtext{display:block}.metadata-table td:first-child strong{color:#d5e0e9}.metadata-table-subtext{color:#6f8498;font-size:var(--font-xs);margin-top:3px}.metadata-not-analysed-pill{color:#92a6b9;font-size:var(--font-xs);background:#18222c;border:1px solid #2c3c4b;border-radius:999px;padding:4px 7px;display:inline-flex}.metadata-table-empty-state,.metadata-element-empty-state,.metadata-rules-empty-state,.metadata-small-empty-state{color:var(--text-muted);text-align:center}.metadata-table-empty-state{flex-direction:column;align-items:center;gap:5px;padding:46px 16px;display:flex}.metadata-table-empty-state strong,.metadata-element-empty-state strong,.metadata-rules-empty-state strong{color:#cdd8e2}.metadata-element-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:0;padding:28px;display:flex}.metadata-element-empty-state span{max-width:430px;line-height:1.45}.metadata-empty-icon{color:#8ba1b6;background:#17232e;border:1px solid #314355;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:2px;font-size:22px;display:flex}.metadata-right-column{grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.metadata-scope-panel,.metadata-completeness-panel,.metadata-rules-panel{padding:11px}.metadata-control-label{color:#7f94a8;font-size:var(--font-xs);margin-top:10px;font-weight:700;display:block}.metadata-control-label select{height:32px;margin-top:5px;padding:0 8px;font-weight:400}.metadata-completeness-visual{justify-content:center;padding:12px 0 10px;display:flex}.metadata-completeness-ring{background:conic-gradient(#2d4255 0deg 360deg);border-radius:50%;justify-content:center;align-items:center;width:112px;height:112px;display:flex;position:relative}.metadata-completeness-ring:before{content:"";background:var(--bg-panel);border-radius:50%;width:80px;height:80px;position:absolute}.metadata-completeness-ring>div{z-index:1;text-align:center;position:relative}.metadata-completeness-ring strong,.metadata-completeness-ring span{display:block}.metadata-completeness-ring strong{color:var(--text-heading);font-size:24px}.metadata-completeness-ring span{color:#6f8498;font-size:var(--font-xs)}.metadata-legend{gap:6px;display:grid}.metadata-legend>div{color:#8fa2b4;font-size:var(--font-xs);grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.metadata-legend>div strong{color:#bdcbd7}.metadata-legend-swatch{border-radius:2px;width:8px;height:8px}.metadata-legend-complete{background:#547b68}.metadata-legend-missing{background:#8a5d5d}.metadata-legend-not-required{background:#394b5c}.metadata-rules-panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.metadata-rules-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:0;padding:18px 8px 4px;line-height:1.4;display:flex}.metadata-outline-button{color:#c9d5df;background:0 0;border:1px solid #3a4d5f;margin-top:5px;padding:7px 10px}.metadata-small-empty-state{padding:20px 8px}.main-metadata-page{grid-template-rows:var(--topbar-height) minmax(0, 1fr)}@media (width<=1250px){.metadata-analysis-shell{grid-template-columns:205px minmax(420px,1fr) 245px}.metadata-pivot-zones{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1020px){.metadata-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metadata-analysis-shell{grid-template-columns:190px minmax(0,1fr)}.metadata-right-column{display:none}}@media (width<=760px){.metadata-header{grid-template-columns:minmax(0,1fr)}.metadata-header>div:first-child,.metadata-header-actions{grid-column:1}.metadata-header>div:first-child{text-align:center}.metadata-header-actions{justify-self:center}}.analysis-module-workspace{grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:14px;display:grid;overflow:hidden}.analysis-module-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-width:0;display:grid}.analysis-module-header>div:first-child{text-align:center;grid-column:2;min-width:0}.analysis-module-eyebrow,.analysis-module-panel-kicker{color:#6f879f;font-size:var(--font-xs);letter-spacing:1.3px;margin:0 0 4px;font-weight:800}.analysis-module-header h2,.analysis-module-panel-heading h3{color:var(--text-heading);margin:0}.analysis-module-header h2{font-size:22px}.analysis-module-header p:not(.analysis-module-eyebrow){color:var(--text-muted);margin-top:4px}.analysis-module-header-actions{flex:none;grid-column:3;justify-self:end;gap:8px;display:flex}.analysis-module-primary-button,.analysis-module-outline-button,.analysis-module-link-button,.analysis-module-result-tab{cursor:pointer;border-radius:7px}.analysis-module-primary-button{color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);padding:9px 14px;font-weight:700}.analysis-module-primary-button:disabled,.analysis-module-outline-button:disabled,.analysis-module-link-button:disabled,.analysis-module-header-actions .secondary-button:disabled{cursor:not-allowed;opacity:.48}.analysis-module-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.analysis-module-summary-card{border:1px solid var(--border);background:linear-gradient(145deg,#111b24 0%,#0d141b 100%);border-radius:9px;min-width:0;padding:10px 12px}.analysis-module-summary-card>span{color:#7f94a9;font-size:var(--font-xs);letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;font-weight:700;display:block}.analysis-module-summary-card strong{max-width:100%;color:var(--text-heading);font-size:var(--font-lg);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.analysis-module-summary-card small{color:var(--text-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.analysis-module-shell{grid-template-columns:230px minmax(480px,1fr) 270px;gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.analysis-module-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:9px;min-width:0;min-height:0}.analysis-module-panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.analysis-module-panel-heading h3{font-size:var(--font-base)}.analysis-module-count-badge{color:#b8c8d7;min-width:25px;height:22px;font-size:var(--font-xs);background:#182430;border:1px solid #2c3c4c;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-weight:700;display:inline-flex}.analysis-module-fields-panel{grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:11px;display:grid;overflow:hidden}.analysis-module-search-input,.analysis-module-control-label select{width:100%;color:var(--text-main);border:1px solid var(--border);background:#0b1117;border-radius:7px;outline:none}.analysis-module-search-input{height:32px;padding:0 10px}.analysis-module-search-input:focus,.analysis-module-control-label select:focus{border-color:#5f7892;box-shadow:0 0 0 2px #5f789226}.analysis-module-field-groups{min-height:0;padding-right:2px;overflow:auto}.analysis-module-field-group+.analysis-module-field-group{margin-top:12px}.analysis-module-field-group-title{color:#72879c;font-size:var(--font-xs);letter-spacing:.7px;text-transform:uppercase;margin-bottom:5px;font-weight:800}.analysis-module-field-item{color:#c6d2dd;text-align:left;cursor:grab;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;width:100%;padding:6px 7px;display:flex}.analysis-module-field-item:hover{background:var(--bg-hover);border-color:#2b4054}.analysis-module-field-grip{color:#587086;letter-spacing:-2px;font-family:monospace}.analysis-module-centre-column{grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid}.analysis-module-pivot-builder{padding:11px}.analysis-module-pivot-heading{margin-bottom:9px}.analysis-module-link-button{color:#a9bbcc;font-size:var(--font-xs);background:0 0;border:1px solid #0000;padding:5px 8px}.analysis-module-pivot-zones{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.analysis-module-pivot-zone{background:#0b1218;border:1px dashed #314356;border-radius:7px;min-width:0;min-height:82px;padding:8px}.analysis-module-pivot-zone-heading{margin-bottom:7px}.analysis-module-pivot-zone-heading strong,.analysis-module-pivot-zone-heading span{display:block}.analysis-module-pivot-zone-heading strong{color:#d3deea;font-size:var(--font-sm)}.analysis-module-pivot-zone-heading span{color:#60788e;font-size:var(--font-xs);margin-top:2px}.analysis-module-chip-list{flex-wrap:wrap;gap:4px;display:flex}.analysis-module-field-chip{color:#d6e2ed;max-width:100%;font-size:var(--font-xs);white-space:nowrap;background:#172431;border:1px solid #31475a;border-radius:5px;align-items:center;gap:5px;padding:4px 6px;display:inline-flex}.analysis-module-results-panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.analysis-module-results-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.analysis-module-result-tabs{gap:4px;display:flex}.analysis-module-result-tab{color:#8fa3b8;background:0 0;border:1px solid #0000;padding:6px 9px}.analysis-module-result-tab:hover{color:#fff;background:var(--bg-hover)}.analysis-module-result-tab-active{color:#eef4f9;background:#1a2a38;border-color:#39516a}.analysis-module-results-status{color:#70869b;font-size:var(--font-xs)}.analysis-module-table-wrap{min-height:0;overflow:auto}.analysis-module-table{border-collapse:collapse;width:100%}.analysis-module-table th,.analysis-module-table td{text-align:left;border-bottom:1px solid #1c2935;padding:9px 10px}.analysis-module-table th{z-index:1;color:#8197ab;font-size:var(--font-xs);letter-spacing:.4px;text-transform:uppercase;background:#0d151c;font-weight:800;position:sticky;top:0}.analysis-module-table td{color:#a9b9c7}.analysis-module-table td:first-child strong,.analysis-module-table-subtext{display:block}.analysis-module-table td:first-child strong{color:#d5e0e9}.analysis-module-table-subtext{color:#6f8498;font-size:var(--font-xs);margin-top:3px}.analysis-module-not-analysed-pill{color:#92a6b9;font-size:var(--font-xs);background:#18222c;border:1px solid #2c3c4b;border-radius:999px;padding:4px 7px;display:inline-flex}.analysis-module-table-empty-state,.analysis-module-element-empty-state,.analysis-module-rules-empty-state{color:var(--text-muted);text-align:center}.analysis-module-table-empty-state{flex-direction:column;align-items:center;gap:5px;padding:46px 16px;display:flex}.analysis-module-table-empty-state strong,.analysis-module-element-empty-state strong,.analysis-module-rules-empty-state strong{color:#cdd8e2}.analysis-module-element-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:0;padding:28px;display:flex}.analysis-module-element-empty-state span{max-width:470px;line-height:1.45}.analysis-module-empty-icon{color:#8ba1b6;background:#17232e;border:1px solid #314355;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:2px;font-size:22px;display:flex}.analysis-module-right-column{grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.analysis-module-scope-panel,.analysis-module-output-panel,.analysis-module-rules-panel{padding:11px}.analysis-module-control-label{color:#7f94a8;font-size:var(--font-xs);margin-top:10px;font-weight:700;display:block}.analysis-module-control-label select{height:32px;margin-top:5px;padding:0 8px;font-weight:400}.analysis-module-output-visual{justify-content:center;padding:12px 0 10px;display:flex}.analysis-module-output-ring{background:conic-gradient(#2d4255 0deg 360deg);border-radius:50%;justify-content:center;align-items:center;width:112px;height:112px;display:flex;position:relative}.analysis-module-carbon .analysis-module-output-ring{background:conic-gradient(#4e624f 0deg 360deg)}.analysis-module-output-ring:before{content:"";background:var(--bg-panel);border-radius:50%;width:80px;height:80px;position:absolute}.analysis-module-output-ring>div{z-index:1;text-align:center;position:relative}.analysis-module-output-ring strong,.analysis-module-output-ring span{display:block}.analysis-module-output-ring strong{color:var(--text-heading);font-size:24px}.analysis-module-output-ring span{color:#6f8498;font-size:var(--font-xs)}.analysis-module-legend{gap:6px;display:grid}.analysis-module-legend>div{color:#8fa2b4;font-size:var(--font-xs);grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.analysis-module-legend>div strong{color:#bdcbd7}.analysis-module-legend-swatch{border-radius:2px;width:8px;height:8px}.analysis-module-legend-primary{background:#547b68}.analysis-module-legend-secondary{background:#394b5c}.analysis-module-legend-warning{background:#8a7458}.analysis-module-rules-panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.analysis-module-rules-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:0;padding:18px 8px 4px;line-height:1.4;display:flex}.analysis-module-outline-button{color:#c9d5df;background:0 0;border:1px solid #3a4d5f;margin-top:5px;padding:7px 10px}.main-analysis-module-page{grid-template-rows:var(--topbar-height) minmax(0, 1fr)}@media (width<=1250px){.analysis-module-shell{grid-template-columns:205px minmax(420px,1fr) 245px}.analysis-module-pivot-zones{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1020px){.analysis-module-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-module-shell{grid-template-columns:190px minmax(0,1fr)}.analysis-module-right-column{display:none}}@media (width<=760px){.analysis-module-header{grid-template-columns:minmax(0,1fr)}.analysis-module-header>div:first-child,.analysis-module-header-actions{grid-column:1}.analysis-module-header>div:first-child{text-align:center}.analysis-module-header-actions{justify-self:center}}
