:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#f4f7f8;background:#090d10;--bg: #090d10;--surface: #11171c;--surface-2: #151d23;--surface-3: #1c252d;--border: #29343d;--muted: #8d9aa6;--text: #f4f7f8;--accent: #14d8c9;--accent-2: #f4b94a;--radius: 8px}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit}button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:750;cursor:pointer}button:hover,button:focus-visible{border-color:var(--accent)}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115;color:var(--text)}input{height:40px;padding:0 12px}textarea{min-height:94px;padding:12px;resize:vertical}.platform-shell{display:grid;grid-template-columns:264px minmax(0,1fr);width:100vw;height:100vh;background:var(--bg)}.platform-sidebar{display:flex;flex-direction:column;gap:20px;min-width:0;padding:18px;border-right:1px solid var(--border);background:#0d1216}.platform-brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:52px;padding:8px;border:0;background:transparent;text-align:left}.platform-brand strong,.viewer-company strong{display:block;color:var(--text);font-size:15px}.platform-brand small,.viewer-company span{display:block;color:var(--muted);font-size:12px;font-weight:700}.brand-cube{display:inline-block;width:32px;height:32px;flex:0 0 auto;border-radius:8px;background:linear-gradient(135deg,var(--brand-primary, var(--accent)),var(--brand-secondary, var(--accent-2)));box-shadow:0 0 26px #14d8c933}.brand-cube.large{width:48px;height:48px}.platform-nav{display:grid;gap:8px}.platform-nav button{min-height:42px;padding:0 12px;text-align:left}.platform-nav button.is-active,.toggle-grid button.is-active{border-color:#14d8c9a6;background:#14d8c91a;color:var(--accent)}.beta-panel{margin-top:auto;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#0a0f13}.beta-panel span,.tenant-label,.muted{color:var(--muted);font-size:12px;font-weight:750}.beta-panel strong{display:block;margin-top:4px}.beta-panel p{margin:8px 0 0;color:var(--muted);font-size:13px}.platform-main{min-width:0;overflow:auto}.platform-header{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 24px;border-bottom:1px solid var(--border);background:#090d10e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-actions{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:750;text-transform:capitalize}.header-actions button{min-height:34px;padding:0 12px}.page{display:grid;gap:22px;padding:26px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}h1,h2,p{margin:0}.page-heading h1{font-size:32px;line-height:1.1}.page-heading p{margin-top:8px;color:var(--muted)}.primary-action{min-height:42px;padding:0 16px;border-color:#14d8c9a6;background:var(--accent);color:#061010}.primary-action.full{width:100%;margin-top:10px}.stats-grid,.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat,.content-band,.table-surface,.project-card,.settings-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.stat{padding:16px}.stat span,.record-list span,.table-row span,.project-card span,.selection-card span,.comment-list span,dt{color:var(--muted);font-size:12px;font-weight:750}.stat strong{display:block;margin-top:8px;font-size:24px}.content-band{display:grid;gap:16px;padding:18px}.record-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.record-list article{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.table-surface{overflow:hidden}.table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:12px;min-height:58px;padding:0 16px;border-bottom:1px solid var(--border)}.table-row:last-child{border-bottom:0}.table-head{min-height:42px;background:#0c1115}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px}.project-card h2{margin-top:8px;font-size:20px}.project-card p{margin-top:8px;color:var(--muted)}.project-card button{flex:0 0 auto;min-height:38px;padding:0 12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.settings-grid label,.login-panel label{display:grid;gap:8px;color:#dfe7eb;font-size:13px;font-weight:750}.settings-grid .wide{grid-column:1 / -1}.login-screen{display:grid;min-height:100vh;place-items:center;padding:22px;background:radial-gradient(circle at 50% 20%,rgba(20,216,201,.14),transparent 34%),var(--bg)}.login-panel{display:grid;gap:16px;width:min(420px,100%);padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.login-panel h1{font-size:32px}.login-panel p,.login-panel small{color:var(--muted)}.login-panel button{min-height:44px;border-color:#14d8c9a6;background:var(--accent);color:#061010}.viewer-loading{display:grid;min-height:100vh;place-items:center;background:var(--bg)}.viewer-page{display:grid;grid-template-rows:64px minmax(0,1fr) 34px;width:100vw;height:100vh;overflow:hidden;background:#080c0f}.viewer-header,.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:var(--border);background:#080c0ff0}.viewer-header{padding:0 16px;border-bottom:1px solid var(--border)}.viewer-company{display:flex;align-items:center;gap:10px;min-width:230px}.viewer-company img{width:34px;height:34px;border-radius:8px;object-fit:contain}.viewer-toolbar{display:flex;justify-content:flex-end;gap:8px;overflow-x:auto}.viewer-toolbar button{min-height:36px;padding:0 12px;white-space:nowrap}.viewer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.viewer-stage{position:relative;min-width:0;min-height:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 48% 42%,color-mix(in srgb,var(--brand-primary, #14d8c9) 16%,transparent),transparent 28%),#080c0f;background-size:48px 48px,48px 48px,auto,auto}.viewer-canvas-host{width:100%;height:100%}.viewer-canvas-host canvas{display:block;width:100%;height:100%}.load-progress,.viewer-error{position:absolute;z-index:3;left:18px;top:18px;width:min(340px,calc(100% - 36px));padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115e0;box-shadow:0 20px 40px #00000047}.viewer-error{top:auto;bottom:18px;color:#ffd8a3;font-size:13px}.load-progress span,.load-progress strong{font-size:12px;font-weight:800}.load-progress strong{float:right}.load-progress div{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:#26313a}.load-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand-primary, var(--accent))}.viewer-side-panel{min-width:0;overflow-y:auto;border-left:1px solid var(--border);background:#10161b}.viewer-side-panel section{padding:16px;border-bottom:1px solid var(--border)}.viewer-side-panel h2{margin-bottom:12px;font-size:12px;text-transform:uppercase}dl{display:grid;gap:10px;margin:0}dl div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px}dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toggle-grid button{min-height:38px;text-transform:capitalize}.selection-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.selection-card span{overflow-wrap:anywhere}.selection-actions{display:grid;gap:8px;margin-top:6px}.selection-actions button{min-height:34px}.comment-list{display:grid;gap:10px;margin-top:14px}.comment-list article{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#0c1115}.comment-list p{color:#dfe7eb;font-size:13px}.viewer-footer{padding:0 14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:750}.viewer-footer strong{color:var(--brand-primary, var(--accent));white-space:nowrap}.cad-viewer{grid-template-rows:56px minmax(0,1fr) 34px;background:#070b0e}.cad-topbar{display:grid;grid-template-columns:250px auto minmax(320px,1fr) auto auto;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #1e2931;background:linear-gradient(180deg,#10161b,#080c10);box-shadow:0 1px #ffffff08 inset}.cad-brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-cube.compact{width:24px;height:24px;border-radius:6px}.cad-brand img{width:24px;height:24px;object-fit:contain}.cad-brand strong,.cad-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-brand strong{font-size:14px;line-height:1.1}.cad-brand span{margin-top:2px;color:#92a0ab;font-size:11px;font-weight:700}.cad-file-actions,.cad-toolstrip,.cad-view-modes,.cad-export-actions{display:flex;align-items:center;gap:7px;min-width:0}.hidden-file-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.cad-toolstrip{justify-content:center}.cad-export-actions{justify-content:flex-end}.cad-topbar button,.cad-left-panel button,.cad-right-panel button,.cad-floating-tools button{border-color:#26323b;background:#121920;box-shadow:0 1px #ffffff08 inset}.cad-topbar button{min-height:34px;padding:0 12px;font-size:12px}.cad-toolstrip button{display:grid;place-items:center;min-width:48px;min-height:42px;padding:5px 8px;color:#dbe4e8;font-size:10px}.cad-toolstrip button:before{content:"";width:16px;height:16px;margin-bottom:2px;border:1px solid currentColor;border-radius:999px}.cad-toolstrip button.is-active,.cad-view-modes button.is-active,.accent-button{border-color:#14d8c98c;background:linear-gradient(180deg,#14d8c961,#088881c7);color:#ecffff}.cad-view-modes{padding:3px;border:1px solid #26323b;border-radius:7px;background:#0a0f13}.cad-view-modes button{min-height:30px;border:0;background:transparent}.cad-workspace{display:grid;grid-template-columns:245px minmax(0,1fr) 320px;min-height:0}.cad-left-panel,.cad-right-panel{min-width:0;overflow:hidden;background:linear-gradient(180deg,#11181e,#0b1014)}.cad-left-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;border-right:1px solid #24313a}.cad-right-panel{overflow-y:auto;border-left:1px solid #24313a}.cad-tabs,.cad-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px;border-bottom:1px solid #22303a}.cad-tabs button,.cad-subtabs button{min-height:38px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#8e9ba6;font-size:11px;text-transform:uppercase}.cad-tabs button.is-active,.cad-subtabs button.is-active{border-bottom-color:var(--brand-primary, var(--accent));color:var(--brand-primary, var(--accent))}.cad-subtabs{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px;border-bottom:0}.cad-subtabs button{min-height:30px;border:1px solid #26323b}.cad-search-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;padding:10px}.cad-search-row input{height:32px;font-size:12px}.cad-search-row button{min-height:32px;padding:0;overflow:hidden;font-size:0}.cad-search-row button:before{content:"F";color:#aeb9c2;font-size:12px}.cad-tree{overflow-y:auto;padding:4px 8px 10px}.cad-tree-root,.cad-tree-node{display:grid;grid-template-columns:16px 18px minmax(0,1fr) 36px;align-items:center;min-height:28px;gap:5px;padding-left:calc(var(--tree-depth, 0) * 16px);color:#d8e0e5;font-size:12px}.cad-tree-node{width:100%;border:0;border-radius:4px;background:transparent;box-shadow:none;text-align:left}.cad-tree-node:hover,.cad-tree-node.is-selected{background:#14d8c91a;color:#ecffff}.cad-tree-root{padding-left:0;font-weight:800}.cad-tree-root .tree-eye,.cad-tree-node .tree-eye{min-height:0;padding:0;border:0;background:transparent;box-shadow:none}.tree-caret,.tree-eye{color:#8996a0;font-size:10px}.tree-cube{width:13px;height:13px;border:1px solid #94a2ad;border-radius:2px;transform:rotate(30deg) skew(-12deg)}.tree-eye{text-align:right}.cad-asset-list{display:grid;align-content:start;gap:8px;overflow-y:auto;padding:10px}.cad-asset-list article{display:grid;gap:4px;padding:10px;border:1px solid #26323b;border-radius:6px;background:#0c1115}.cad-asset-list span{color:#84919c;font-size:10px;font-weight:800;text-transform:uppercase}.cad-asset-list strong{overflow:hidden;color:#e4ecef;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cad-left-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:9px;border-top:1px solid #24313a}.cad-left-actions button{min-height:30px;padding:0;font-size:10px}.cad-dropzone{display:grid;place-items:center;gap:4px;margin:0 10px 10px;min-height:86px;padding:12px;border:1px dashed #3b4b56;border-radius:7px;background:#0d1419;text-align:center}.cad-dropzone strong{font-size:12px}.cad-dropzone span{color:var(--brand-primary, var(--accent));font-size:12px}.cad-dropzone small{color:#84919c;font-size:10px}.cad-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.06),transparent 36%),linear-gradient(135deg,#20262c,#0a0e12 54%,#161b20)}.cad-viewport .viewer-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.cad-progress{z-index:6}.cad-view-cube{position:absolute;z-index:4;top:22px;right:28px;width:116px;height:104px;color:#d5dde3;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.cad-view-cube:active{cursor:grabbing}.view-cube-body{position:absolute;left:28px;top:8px;width:62px;height:62px;transform:rotateX(var(--cube-rotate-x, -24deg)) rotateY(var(--cube-rotate-y, 38deg)) rotate(0);transform-style:preserve-3d;pointer-events:auto;transition:transform 80ms linear}.cad-view-cube:active .view-cube-body{transition:none}.view-cube-body:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.08),transparent 35%),linear-gradient(180deg,#7b869052,#3b454e1a);transform:translateZ(-34px) rotateX(90deg);box-shadow:0 16px 24px #00000047}.cube-face{position:absolute;display:grid;place-items:center;width:62px;height:62px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:0;background:linear-gradient(145deg,#d8dde1,#9ea8b1);color:#27313a;font-size:9px;font-weight:900;text-transform:uppercase;cursor:pointer;box-shadow:none;backface-visibility:hidden}.cube-face:hover,.cube-face:focus-visible{border-color:#14d8c9cc;color:#071112;background:linear-gradient(145deg,#eff5f7,#aeb8c0)}.cube-top{transform:rotateX(90deg) translateZ(31px)}.cube-left{transform:rotateY(-90deg) translateZ(31px);filter:brightness(.76)}.cube-front{transform:translateZ(31px);filter:brightness(.9)}.cube-right{transform:rotateY(90deg) translateZ(31px);filter:brightness(.7)}.cube-hint{position:absolute;left:6px;right:6px;bottom:0;color:#aab4bd;font-size:10px;font-weight:800;text-align:center;opacity:0;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cad-view-cube:hover .cube-hint{opacity:.9;transform:translateY(0)}.cad-floating-tools{position:absolute;z-index:4;left:16px;top:52%;display:grid;gap:1px;overflow:hidden;width:42px;border:1px solid #33414a;border-radius:7px;background:#121a20;transform:translateY(-50%);box-shadow:0 16px 34px #00000052}.cad-floating-tools button{min-height:38px;padding:0;border:0;border-radius:0;font-size:9px}.cad-floating-tools button.is-active{background:linear-gradient(180deg,#14d8c980,#0b706db8)}.cad-lighting-panel{position:absolute;z-index:4;right:24px;bottom:18px;width:min(360px,46%);padding:14px;border:1px solid #2c3841;border-radius:7px;background:#10171de6;box-shadow:0 18px 38px #0000005c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-heading h2,.cad-inspector-section h2{margin:0;font-size:11px;letter-spacing:0;text-transform:uppercase}.panel-heading select{width:150px;height:32px;font-size:12px}.env-swatches{display:grid;grid-template-columns:repeat(4,42px);gap:8px;margin-bottom:12px}.env-swatches button{height:34px;min-height:34px;padding:0;overflow:hidden;border:1px solid #33414a;border-radius:6px;background:linear-gradient(135deg,#4d6977,#d4af37);color:transparent;font-size:0}.env-swatches button:nth-child(2){background:linear-gradient(135deg,#2d2d2d,#a09888)}.env-swatches button:nth-child(3){background:linear-gradient(135deg,#88a8bf,#c49a63)}.env-swatches button:nth-child(4){background:linear-gradient(135deg,#243850,#db8a58)}.env-swatches .is-active{border-color:var(--brand-primary, var(--accent))}.compact-slider{display:grid;grid-template-columns:86px minmax(0,1fr) 54px;align-items:center;gap:10px;min-height:34px;color:#dce4e8;font-size:12px}.compact-slider input{height:auto;padding:0;accent-color:var(--brand-primary, var(--accent))}.compact-slider output{height:28px;padding:5px 7px;border:1px solid #29343d;border-radius:6px;background:#12181e;color:#dce4e8;text-align:center}.cad-inspector-section{display:grid;gap:12px;padding:14px;border-bottom:1px solid #24313a}.cad-inspector-section label{display:grid;gap:7px;color:#dce4e8;font-size:12px}.cad-inspector-section select,.cad-inspector-section input[type=text]{height:34px;font-size:12px}.color-row{grid-template-columns:1fr 54px 78px;align-items:end}.color-row input[type=color]{height:34px;padding:4px}.color-row code{height:34px;padding:8px;border:1px solid #29343d;border-radius:6px;background:#0c1115;color:#dce4e8;font-size:11px}.cad-toggle-row,.map-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px}.mini-switch{min-height:24px;min-width:44px;padding:0 8px;color:#82909a;font-size:10px}.mini-switch.is-on{border-color:#14d8c98c;background:#14d8c933;color:var(--brand-primary, var(--accent))}.map-row{grid-template-columns:28px minmax(0,1fr) 28px;min-height:32px;padding:4px;border:1px solid #29343d;border-radius:6px;background:#0c1115;color:#cad4da}.map-row span{width:22px;height:22px;border-radius:4px;background:linear-gradient(135deg,#cbd2dc,#6675d4)}.map-row button{min-height:24px;padding:0}.cad-selection-card{background:#0b1115}.cad-comments textarea{min-height:78px}.measure-readout{padding:10px;border:1px solid rgba(20,216,201,.38);border-radius:6px;background:#14d8c914;color:#dffefd;font-size:12px;font-weight:800}.cad-statusbar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:18px;background:#090d10}@media(max-width:1040px){body{overflow:auto}.platform-shell,.viewer-page{width:100%;height:auto;min-height:100vh}.cad-topbar{grid-template-columns:1fr;gap:8px;padding:10px 12px;max-width:100vw;overflow:hidden}.cad-file-actions,.cad-toolstrip,.cad-view-modes,.cad-export-actions{width:calc(100vw - 24px);max-width:calc(100vw - 24px);justify-content:flex-start;overflow-x:auto}.cad-workspace{grid-template-columns:1fr}.cad-left-panel{display:none}.cad-right-panel{border-left:0;border-top:1px solid #24313a}.cad-viewport{min-height:64vh}.cad-lighting-panel{position:static;width:calc(100vw - 24px);max-width:calc(100vw - 24px);margin:12px;overflow:hidden}.platform-shell{grid-template-columns:1fr}.platform-sidebar{border-right:0;border-bottom:1px solid var(--border)}.platform-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.viewer-page{grid-template-rows:auto auto auto;overflow:visible;max-width:100vw;overflow-x:hidden}.viewer-header{align-items:flex-start;flex-direction:column;padding:12px;overflow:hidden}.viewer-company,.viewer-toolbar{width:100%;max-width:calc(100vw - 24px)}.viewer-toolbar{flex-wrap:wrap;justify-content:flex-start;overflow-x:visible}.viewer-workspace{grid-template-columns:1fr}.viewer-stage{min-height:64vh}.viewer-side-panel{border-left:0;border-top:1px solid var(--border)}}@media(max-width:720px){.page{padding:18px}.page-heading,.project-card,.viewer-footer{align-items:stretch;flex-direction:column}.stats-grid,.record-list,.project-grid,.settings-grid{grid-template-columns:1fr}.table-row{grid-template-columns:1fr;align-items:flex-start;padding:14px}.platform-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:calc(100vw - 24px)}.viewer-toolbar button{min-width:0;width:100%;padding:0 8px}.cad-toolstrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cad-toolstrip button,.cad-file-actions button,.cad-export-actions button,.cad-view-modes button{min-width:0}.cad-file-actions,.cad-export-actions,.cad-view-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cad-file-actions button,.cad-export-actions button,.cad-view-modes button{width:100%}.cad-lighting-panel .panel-heading{align-items:stretch;flex-direction:column}.cad-lighting-panel .panel-heading select{width:100%}.cad-lighting-panel .compact-slider{grid-template-columns:70px minmax(0,1fr) 50px}.cad-view-cube{top:14px;right:14px;width:92px;height:88px;transform:scale(.82);transform-origin:top right}.cad-floating-tools{left:10px;width:38px}.cad-statusbar{grid-template-columns:1fr;gap:4px;padding:8px 12px}}
