.viewer-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.viewer-controls select{color:#eef7ff;background:#071420;border:1px solid #31506a;border-radius:10px;outline:none;padding:8px 10px}.viewer-controls select:focus{border-color:#31b2ff}.building3d-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin-top:16px;display:grid}.building3d-canvas{background:#050d16;border:1px solid #29465f;border-radius:18px;min-height:560px;overflow:hidden}.building3d-canvas canvas{width:100%;height:100%;display:block}@media (width<=900px){.building3d-workspace{grid-template-columns:1fr}.building3d-canvas{min-height:440px}.viewer-controls{justify-content:flex-start}}.run-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:14px;margin-top:16px;display:grid}.run-list{align-content:start;gap:8px;display:grid}.run-card{text-align:left;color:#edf4ff;cursor:pointer;background:#091724;border:1px solid #29465f;border-radius:13px;gap:6px;width:100%;padding:12px;display:grid}.run-card:hover,.run-card.selected{background:#10263b;border-color:#31b2ff}.run-card>div{align-items:center;gap:8px;display:flex}.run-card small{color:#829bb0;overflow-wrap:anywhere}.run-detail{background:#071420;border:1px solid #29465f;border-radius:15px;min-height:250px;padding:15px}.run-detail h3{margin:7px 0 12px;font-size:18px}.artifact-list{gap:8px;margin-top:18px;display:grid}.artifact-row{overflow-wrap:anywhere;background:#0b1c2d;border:1px solid #355676;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;font-size:12px;display:flex}.artifact-row>div{gap:3px;display:grid}.artifact-row small{color:#829bb0}.artifact-open{white-space:nowrap;color:#edf7ff;background:#0d4664;border:1px solid #2d86b6;border-radius:9px;justify-content:center;align-items:center;padding:8px 11px;font-weight:700;text-decoration:none;display:inline-flex}.artifact-open:hover{background:#125777}.run-technical{color:#6f879b;overflow-wrap:anywhere;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:10px;display:flex}@media (width<=850px){.run-layout{grid-template-columns:1fr}.artifact-row{flex-direction:column;align-items:flex-start}.artifact-open{width:100%}}.floor-tabs{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.floorplan-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin-top:16px;display:grid}.plan-pane{min-width:0}.floorplan-svg{background:#050d16;border:1px solid #29465f;border-radius:18px;width:100%;min-height:420px;display:block}.plan-bg{fill:#050d16}.wall-hit,.room-label,.opening-marker,.tga-marker{cursor:pointer}.room-box{fill:#0d1b2a;stroke:#31475c;stroke-width:1px}.room-box.selected{stroke:#fff;stroke-width:2px}.room-label text{fill:#e9f3fc;pointer-events:none;font-size:12px;font-weight:700}.room-label .room-sub{fill:#7891a7;font-size:9px;font-weight:500}.opening-marker circle{fill:#071420;stroke-width:3px}.opening-marker text{fill:#fff;pointer-events:none;font-size:9px;font-weight:900}.opening-marker.window circle{stroke:#63d7ff}.opening-marker.door circle{stroke:#75d69c}.opening-marker.opening circle{stroke:#a6b3c0}.opening-marker.selected circle{fill:#fff}.opening-marker.selected text{fill:#071420}.tga-marker circle{fill:#173454;stroke:#49b4ff;stroke-width:2px}.tga-marker text{fill:#eaf7ff;pointer-events:none;font-size:8px;font-weight:900}.tga-marker.selected circle{fill:#fff;stroke:#49b4ff;stroke-width:4px}.tga-marker.selected text{fill:#092039}.plan-empty{color:#7691a9;text-align:center;background:#07121e;border:1px dashed #31506a;border-radius:18px;place-items:center;min-height:420px;padding:24px;display:grid}.plan-legend{color:#89a1b7;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11px;display:flex}.plan-legend span{align-items:center;gap:5px;display:flex}.legend{border-radius:50%;width:10px;height:10px;display:inline-block}.legend.exterior{background:#ff6b5f}.legend.interior{background:#45a9ff}.legend.unheated{background:#f2a93b}.legend.unknown{background:#73899c}.legend.window{background:#63d7ff}.legend.door{background:#75d69c}.legend.tga{background:#49b4ff}.element-inspector{background:#071420;border:1px solid #29465f;border-radius:18px;min-height:420px;padding:17px}.element-inspector h3{margin:6px 0}.mono{color:#658198;overflow-wrap:anywhere;margin-bottom:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.inspector-empty{text-align:center;color:#7590a8;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:100%;min-height:320px;display:flex}.inspector-empty span{font-size:12px}.inspector-row{border-top:1px solid #1d3448;justify-content:space-between;gap:14px;padding:10px 0;font-size:12px;display:flex}.inspector-row span{color:#819aaf}.inspector-row strong{text-align:right;overflow-wrap:anywhere}.inspector-label{color:#89a2b7;gap:6px;margin-top:14px;font-size:11px;font-weight:700;display:grid}.inspector-label select,.inspector-label input{color:#fff;background:#06111d;border:1px solid #31506a;border-radius:10px;outline:none;width:100%;padding:10px}.inspector-label select:focus,.inspector-label input:focus{border-color:#31b2ff}.inspector-source{color:#678198;border-top:1px solid #1d3448;margin-top:10px;padding-top:9px;font-size:10px;line-height:1.4}.dimension-grid{grid-template-columns:1fr 1fr;gap:0 9px;display:grid}.dimension-grid .inspector-label:last-child{grid-column:1/-1}@media (width<=900px){.floorplan-workspace{grid-template-columns:1fr}.element-inspector{min-height:auto}.floor-tabs{justify-content:flex-start}}.picker-layout{grid-template-columns:1.25fr .75fr;align-items:start;gap:16px;display:grid}.picker-layout>.card{margin-top:0}.entry-stack{gap:16px;display:grid}.entry-stack>.card{margin:0}.entry-card .upload{margin-top:14px}.search-row{gap:8px;margin-top:18px;display:flex}.search-row input{color:#fff;background:#06111d;border:1px solid #31506a;border-radius:12px;outline:none;flex:1;min-width:0;padding:11px 12px}.search-row input:focus{border-color:#31b2ff}.search-row button:disabled{opacity:.55;cursor:wait}.project-results,.snapshot-results{gap:9px;margin-top:16px;display:grid}.result-card{text-align:left;color:#eef7ff;cursor:pointer;background:#091724;border:1px solid #29465f;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:13px;display:flex}.result-card:hover{background:#0d2235;border-color:#31b2ff}.result-card span,.result-card small,.snapshot-card small{color:#87a0b5}.revision-section{border-top:1px solid #213d58;gap:8px;margin-top:15px;padding-top:12px;display:grid}.revision-section:first-of-type{margin-top:6px}.snapshot-card{background:#091724;border:1px solid #29465f;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.snapshot-card.portal-draft{background:#231c0d;border-color:#765d2b}.snapshot-card>div{grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;min-width:0;display:grid}.snapshot-card small{overflow-wrap:anywhere;grid-column:1/-1}.compact-head{margin-bottom:4px}.compact-head small{color:#7892aa;margin-top:3px;display:block}.portal-rule{width:min(850px,100%);margin:18px auto 0}.conflict-detail,.field-conflict{background:#341712;border:1px solid #793d34;border-radius:9px;padding:7px 9px;line-height:1.35;display:block;color:#ffb7a9!important;margin-top:7px!important}@media (width<=850px){.picker-layout{grid-template-columns:1fr}.snapshot-card{flex-direction:column;align-items:flex-start}.snapshot-card>button{width:100%}}:root{color:#edf4ff;font-synthesis:none;background:#07111f;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#102a43 0,#07111f 42%,#040a12 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.shell{width:min(1180px,100% - 32px);margin:auto;padding:28px 0 70px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.topbar h1{letter-spacing:-1px;margin:2px 0;font-size:38px}.topbar p,.card p{color:#93a7bd;margin:4px 0}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:#65c7ff;font-size:11px;font-weight:800}.version,.badge{background:#0d2134;border:1px solid #284763;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.card{background:#0c1b2be6;border:1px solid #213d58;border-radius:22px;margin:16px 0;padding:22px;box-shadow:0 20px 45px #0005}.hero{max-width:760px;margin:80px auto}.hero h2,.card h2{margin:6px 0 8px}.upload{color:#fff;cursor:pointer;background:#169cff;border-radius:14px;margin-top:22px;padding:13px 17px;font-weight:800;display:inline-flex}.upload.disabled{opacity:.55;cursor:wait}.upload input{display:none}.rule{color:#b7c8da;background:#0a1b2b;border-left:3px solid #65c7ff;border-radius:0 10px 10px 0;margin-top:20px;padding:10px 14px}.error{color:#ffc9d5;background:#431c27;border:1px solid #8a3c52;border-radius:12px;margin-top:18px;padding:12px 14px}.project,.section-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.project-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.revision-banner{background:linear-gradient(135deg,#493414e6,#0c1b2bf0);border-color:#745f2a}.secondary{color:#d6e8f8;cursor:pointer;background:#10253a;border:1px solid #315472;border-radius:12px;padding:10px 13px}.purposes{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.purpose{color:#b9cadb;cursor:pointer;background:#0b1928;border:1px solid #2b4965;border-radius:999px;padding:9px 12px}.purpose.active{color:#fff;background:#113958;border-color:#31b2ff}.twin-switch{justify-content:space-between;align-items:center;gap:18px;display:flex}.view-toggle{flex-wrap:wrap;gap:8px;display:flex}.coverage-score{text-align:right;min-width:120px}.coverage-score small{color:#8fa8bd;display:block}.big-number{color:#78d1ff;font-size:38px;font-weight:900;display:block}.muted{color:#8199ad!important}.automation-gap{color:#b9daf8;background:#10253f;border:1px solid #365f96;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;font-size:12px;display:flex}.automation-gap strong{color:#e4f2ff}.automation-gap span{color:#8fb1cd}.pdf-doc-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin-top:16px;display:grid}.pdf-doc{background:#081725;border:1px solid #29465f;border-radius:12px;gap:3px;padding:12px;display:grid}.pdf-doc span,.pdf-doc small{color:#84a0b7}.source-evidence{line-height:1.35;color:#9fc4dd!important;margin-top:6px!important}.field-alternative{background:#351814;border-left:2px solid #a75042;padding:5px 7px;color:#ffc5b8!important;margin-top:5px!important}.stat-grid{grid-template-columns:repeat(8,1fr);gap:8px;margin-top:18px;display:grid}.stat{background:#091724;border:1px solid #1c364e;border-radius:14px;padding:12px 10px}.stat strong{font-size:24px;display:block}.stat span{color:#91a7ba;margin-top:3px;font-size:11px;display:block}.stat.missing,.badge.missing{background:#3b1721;border-color:#854652}.stat.proposal,.badge.proposal{background:#3b2b12;border-color:#8c6a2c}.stat.planning,.badge.planning{background:#261f40;border-color:#5e4e8b}.stat.server,.badge.server{background:#132845;border-color:#365f96}.stat.conflict,.badge.conflict{background:#471d18;border-color:#a74d40}.stat.provided,.badge.provided,.stat.measured,.badge.measured,.stat.derived,.badge.derived{background:#112f25;border-color:#2c684c}.grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.question-list{margin-top:14px}.question{border-top:1px solid #20384f;align-items:flex-start;gap:12px;padding:13px 0;display:flex}.question:first-child{border-top:0}.question small,.field-row small{color:#738da5;margin-top:4px;display:block}.badge{white-space:nowrap;padding:5px 8px;display:inline-flex}.ok{color:#a7edc7;background:#103025;border:1px solid #2c684c;border-radius:14px;padding:14px}.summary-row{border-top:1px solid #20384f;justify-content:space-between;padding:11px 0;display:flex}.summary-row:first-of-type{margin-top:14px}.separator{background:#20384f;height:1px;margin:14px 0}.field-table{margin-top:12px}.field-row{border-top:1px solid #20384f;grid-template-columns:minmax(280px,1fr) 130px 180px;align-items:center;gap:12px;padding:11px 0;display:grid}.field-row:first-child{border-top:0}.field-note{max-width:720px;line-height:1.35}.source{color:#88a0b6;text-align:right;font-size:12px}.source small{overflow-wrap:anywhere;font-size:9px;display:block}.question-body{flex:1;min-width:0}.question-action{align-items:center;gap:8px;margin-top:9px;display:flex}.question-action input{color:#fff;background:#06111d;border:1px solid #31506a;border-radius:10px;outline:none;flex:1;min-width:120px;padding:9px 10px}.question-action input:focus{border-color:#31b2ff}.compact{color:#dff3ff;cursor:pointer;background:#0b3955;border:1px solid #2d6a91;border-radius:10px;padding:8px 10px;font-weight:700}.compact.active{background:#164c6c;border-color:#7dd3fc}.proposal-value{color:#b8d6e8;font-size:13px}@media (width<=900px){.stat-grid{grid-template-columns:repeat(4,1fr)}.twin-switch,.project{flex-direction:column;align-items:flex-start}.project-actions{justify-content:flex-start}}@media (width<=800px){.stat-grid{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr auto}.source{display:none}.topbar{flex-direction:column}.section-head{flex-direction:column;align-items:flex-start}.coverage-score{text-align:left}}.auth-screen{background:radial-gradient(circle at top,#14243c 0,#07111f 55%,#040a12 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-login-card{width:min(460px,100%);padding:32px}.auth-login-card h1{margin:.15rem 0 .4rem}.auth-login-card p{margin:0 0 1.2rem}.auth-login-form,.auth-password-card form{gap:14px;margin-top:18px;display:grid}.auth-login-form label,.auth-password-card label,.auth-create-grid label{color:var(--muted,#9eb0c7);gap:6px;font-size:.82rem;display:grid}.auth-login-form input,.auth-password-card input,.auth-create-grid input,.auth-create-grid select,.auth-user-row select,.auth-reset input{box-sizing:border-box;width:100%}.auth-session-bar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060f1beb;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:fixed;top:14px;right:18px;box-shadow:0 8px 28px #00000047}.auth-session-bar>span{margin-right:4px;line-height:1.1;display:grid}.auth-session-bar small{color:var(--muted,#9eb0c7);margin-top:3px;font-size:.68rem}.auth-modal-backdrop{z-index:100;background:#000000ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.auth-modal{width:min(1120px,100%);max-height:calc(100vh - 48px);padding:24px;overflow:auto}.auth-modal-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.auth-modal-head h2{margin:.15rem 0}.auth-create-grid{background:#ffffff06;border:1px solid #ffffff17;border-radius:14px;grid-template-columns:1.1fr 1.4fr 1.2fr .8fr auto;align-items:end;gap:10px;margin:22px 0;padding:16px;display:grid}.auth-user-list{gap:8px;display:grid}.auth-user-row{background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:minmax(220px,1.4fr) auto 120px auto minmax(210px,.9fr);align-items:center;gap:10px;padding:12px;display:grid}.auth-user-main{min-width:0;display:grid}.auth-user-main span,.auth-user-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-user-main span{color:var(--muted,#9eb0c7);font-size:.86rem}.auth-user-main small{color:var(--muted,#9eb0c7);margin-top:3px;font-size:.72rem}.auth-reset{grid-template-columns:1fr auto;gap:6px;display:grid}.auth-password-card{width:min(440px,100%);padding:26px}.auth-password-card h2{margin:.2rem 0}.auth-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@media (width<=900px){.auth-create-grid{grid-template-columns:1fr 1fr}.auth-create-grid button{grid-column:1/-1}.auth-user-row{grid-template-columns:1fr auto}.auth-user-row select,.auth-user-row>button,.auth-reset{grid-column:1/-1}.auth-session-bar{border-left:0;border-right:0;border-radius:0;justify-content:flex-end;margin:0;position:sticky;top:0;right:auto}.auth-session-bar>span{margin-right:auto}}@media (width<=560px){.auth-create-grid{grid-template-columns:1fr}.auth-modal-backdrop{padding:10px}.auth-session-bar{flex-wrap:wrap}.auth-session-bar button{font-size:.72rem}}
