:root{--navy:#143d5c;--blue:#176fa6;--green:#168663;--amber:#e4a13b;--paper:#f4f7fa;--line:#dde5ec;--muted:#687d8d;--violet:#7162ae;--font:'Assistant',Arial,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:14px/1.5 var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:white;border:1px solid var(--line);border-radius:7px;padding:9px 13px;transition:background .15s,border-color .15s}button:hover{border-color:#9db2c2;background:#f4f8fb}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #65b9dc;outline-offset:3px}input,select,textarea{padding:10px;border:1px solid #c9d6e0;border-radius:6px;background:#fff;color:#143d5c;min-width:0;width:100%}input[type=checkbox]{width:auto;accent-color:var(--green)}label{display:block;font-size:13px;font-weight:bold}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-.8px}h2{font-size:18px}h3{font-size:16px}small{color:var(--muted);font-size:11px}a{color:var(--blue)}.primary{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:bold;padding:12px 18px}.primary:hover{background:#21577d;color:white}.quiet{background:transparent;border-color:transparent}.text-button{border:0;background:transparent;font-weight:bold;color:var(--blue)}.eyebrow{font-size:12px;color:var(--muted)}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-panel{max-width:420px;align-self:center;justify-self:center;padding:45px}.login-panel>img{width:200px;margin-bottom:48px}.login-panel h1{font-size:50px}.login-panel p{font-size:18px;line-height:1.8}.login-panel form{display:grid;gap:10px;margin:28px 0}.login-panel form p{font-size:13px;color:#b04d35}.login-panel small{line-height:1.7}.login-graphic{background:#143d5c;display:grid;place-items:center;overflow:hidden}.plan-outline{width:360px;height:420px;border:2px solid #a3d1e1;display:grid;grid-template-columns:1fr 1fr;transform:rotate(-8deg);gap:22px;padding:24px;position:relative}.plan-outline:before{content:'';position:absolute;inset:-40px;border:1px dashed #5e8ba8}.plan-outline span{border:1px solid #5e8ba8;display:grid;place-items:center;font-size:28px;color:white}.plan-outline span:nth-child(3){border-bottom:7px solid #5cc9a0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;gap:20px;align-items:center}.brand img{width:145px;height:auto}.brand strong{font-size:18px}.brand i{height:24px;width:1px;background:var(--line)}.top-meta{display:flex;gap:18px;align-items:center;font-size:12px}.draft-badge{display:inline-block;background:#fff3d9;color:#866124;border:1px solid #f4dfb8;border-radius:5px;padding:4px 9px;font-size:12px}.main-nav{height:53px;background:#fff;display:flex;gap:20px;padding:0 36px;align-items:stretch;border-bottom:1px solid var(--line)}.main-nav button{border:none;border-bottom:3px solid transparent;border-radius:0;background:none;padding:0 12px;font-weight:bold;color:var(--muted)}.main-nav button.active{border-color:var(--green);color:var(--navy)}.version{margin-inline-start:auto;align-self:center;color:var(--muted);font-size:12px}main{max-width:1800px;padding:28px 32px 24px;margin:auto}.project-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.breadcrumb{color:var(--muted);font-size:12px;margin-bottom:12px}.breadcrumb span{margin:0 8px;color:#9aafbe}.project-heading h1{margin:0 0 7px}.project-heading p{margin:0;color:var(--muted);font-size:13px}.project-state{display:flex;gap:10px;align-items:center}.project-state small{display:block;margin-top:3px}.status-dot{width:10px;height:10px;border:3px solid #cae6d8;border-radius:50%;box-sizing:content-box;background:var(--green)}.workspace{display:grid;grid-template-columns:240px minmax(400px,1fr) 280px;min-height:600px;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 6px 26px #143d5c06}.object-panel{border-left:1px solid var(--line);display:flex;flex-direction:column}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.panel-title h2{font-size:14px;margin:0}.panel-title>span{font-size:11px;color:var(--muted)}.hierarchy{padding:18px;background:#f8fafc;border-bottom:1px solid var(--line);font-size:13px}.hierarchy small{display:block}.hierarchy-line{display:block;margin-top:15px;border-right:2px solid #c7d9e5;padding-right:12px;font-size:11px;color:var(--muted)}.object-tabs{display:flex;gap:3px;padding:11px}.object-tabs button{font-size:11px;border:0;flex:1;padding:6px}.object-tabs .active{background:#eaf2f8;font-weight:bold}.object-list{flex:1;max-height:420px;overflow:auto}.object-group{font-size:11px;font-weight:bold;color:var(--muted);padding:8px 18px}.object-row{width:100%;display:flex;gap:10px;align-items:center;border:0;border-radius:0;text-align:right;padding:12px 15px;border-right:3px solid transparent;background:transparent}.object-row .object-symbol{height:29px;width:29px;display:grid;place-items:center;border:1px solid #dbe6ed;border-radius:6px;color:var(--blue);font-size:15px;flex-shrink:0}.object-row strong{font-size:12px;display:block}.object-row small{font-size:10px;display:block}.object-row.active{border-right-color:var(--blue);background:#edf5fa}.object-row .missing-pill{margin-right:auto;color:#aa7b26;font-size:10px;white-space:nowrap}.source-card{display:flex;gap:8px;padding:15px 12px;align-items:center;border-top:1px solid var(--line);font-size:11px}.source-card small{display:block;font-size:9px}.source-card .quiet{font-size:10px;padding:4px}.source-icon{font-size:23px;color:var(--green)}.drawing-panel{display:flex;flex-direction:column;min-width:0}.canvas-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px}.canvas-top h2{margin:0;font-size:15px}.canvas-top span{font-size:11px;color:var(--muted)}.view-controls{display:flex;gap:4px}.view-controls button{padding:4px 9px;font-size:12px}.drawing-toolbar{display:flex;gap:3px;padding:0 10px 12px;flex-wrap:wrap}.drawing-toolbar button{font-size:11px;padding:6px 8px;border-color:transparent}.drawing-toolbar button.active{background:#e8f1f8;border-color:#c4dceb;color:var(--blue)}.canvas-wrap{position:relative;flex:1;background:#f8fafc;min-height:440px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#plan{display:block;width:100%;height:100%;min-height:440px;position:absolute;touch-action:none;user-select:none}#plan .room{fill:#1b88bb0b;stroke:#277fa5;stroke-width:1.8;vector-effect:non-scaling-stroke;cursor:pointer}#plan .room.selected{fill:#208fc32b;stroke:#145f88;stroke-width:2.7}#plan .opening{stroke:var(--green);stroke-width:7;vector-effect:non-scaling-stroke;cursor:pointer}#plan .opening.selected{stroke:#045c3b;stroke-width:10}#plan .label{font-size:11px;fill:#143d5c;paint-order:stroke;stroke:white;stroke-width:3;stroke-linejoin:round;pointer-events:none;font-weight:bold}#plan .handle{fill:#fff;stroke:#176fa6;stroke-width:2;cursor:grab}#plan .hvac{cursor:move;fill:#7162ae;stroke:white;stroke-width:1.5}.canvas-message{position:absolute;top:12px;right:12px;background:#fffffff2;padding:7px 11px;border:1px solid #dae5ed;border-radius:6px;font-size:10px;color:#486174;pointer-events:none;max-width:90%}.canvas-legend{position:absolute;bottom:12px;right:12px;left:12px;display:flex;gap:12px;align-items:center;background:#ffffffed;padding:8px 11px;border:1px solid #e0e8ed;border-radius:6px;font-size:10px;width:max-content;max-width:96%;flex-wrap:wrap}.canvas-legend span{display:flex;gap:4px;align-items:center}.canvas-legend label{font-size:10px;font-weight:normal;display:flex;gap:4px;align-items:center}.legend-line{width:13px;height:3px;background:var(--blue)}.legend-line.green{background:var(--green)}.legend-line.violet{background:var(--violet)}.canvas-bottom{display:flex;justify-content:space-between;padding:10px 15px;font-size:10px;color:var(--muted);gap:10px}.inspector{border-right:1px solid var(--line)}#inspector-content{padding:20px}.small-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.item-title{font-size:23px;margin:0 0 3px}.item-subtitle{font-size:11px;color:var(--muted);margin-bottom:17px}.item-meta{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;font-size:12px;gap:8px}.item-meta span{color:var(--muted)}.item-meta strong{font-weight:normal;text-align:left}.item-id{direction:ltr;text-align:left;font:10px/1.5 monospace;overflow-wrap:anywhere;color:var(--muted);background:#f4f7fa;padding:8px;border-radius:4px}.completion{margin:18px 0}.completion-head{display:flex;justify-content:space-between;font-size:11px}.completion-track{height:5px;background:#e9eff4;margin-top:8px;border-radius:5px}.completion-track i{display:block;background:var(--green);height:5px;border-radius:5px}.inspector-actions{display:grid;gap:7px;margin:16px 0}.inspector-actions button{font-size:12px}.provenance-note{font-size:11px;line-height:1.8;color:var(--muted);padding-top:16px;border-top:1px solid var(--line)}.drawing-foot{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.workflow-strip{display:flex;gap:12px;align-items:center;font-size:11px;color:#8394a1}.workflow-strip i{height:1px;width:26px;background:#cbd9e3}.workflow-strip .done{color:var(--green)}.workflow-strip .current{color:var(--navy);font-weight:bold}.app-footer{display:flex;justify-content:space-between;padding:18px 32px;border-top:1px solid var(--line);color:#7a8e9d;font-size:10px}.notice{background:#fff8e9;color:#866124;border-right:3px solid var(--amber);padding:13px 16px;font-size:12px;margin:0 0 18px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-head h2{font-size:28px;margin:5px 0}.survey-layout{display:grid;grid-template-columns:210px minmax(380px,1fr) 310px;gap:20px}.survey-items,.survey-form-panel,.conversation{background:white;border:1px solid var(--line);border-radius:10px;padding:23px}.survey-items{padding:18px 8px}.survey-items h2{padding:0 10px;font-size:14px}.survey-form-panel{min-width:0}.survey-form-panel .section-head h2{font-size:24px}#survey-context{font-size:10px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-row label{margin-bottom:6px}.field-row small{display:block;margin-top:4px}.measurement{display:grid;grid-template-columns:1fr 75px;gap:6px}.form-actions{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.form-actions small{max-width:220px}.photo-section{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.photo-section p{font-size:12px;color:var(--muted)}.upload-button{display:inline-block;border:1px dashed #a9bfcd;padding:14px 18px;border-radius:6px;cursor:pointer;color:var(--blue)}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.photo-section img{width:92px;height:76px;object-fit:cover;border-radius:5px;border:1px solid #d5dfe6;margin:12px 0 0 10px}.conversation{background:#eff5f9;align-self:start}.assistant-mark{width:39px;height:39px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:23px;margin-bottom:16px}.conversation h2{font-size:22px;margin-bottom:7px}.conversation>p{color:var(--muted);font-size:12px}.conversation textarea{margin:7px 0}.chat-actions{display:flex;gap:5px}.chat-actions button{font-size:11px;padding:9px 10px}.conversation>small{display:block;margin-top:12px;line-height:1.7}.bubble{padding:12px;background:white;border:1px solid #d9e5ed;border-radius:8px;margin:12px 0;font-size:12px}.proposal{background:#fff;padding:14px;border:1px solid #a1c5dc;border-radius:8px;margin-top:15px}.proposal p{font-size:12px}.proposal ul{padding-right:18px;font-size:12px}.proposal button{font-size:11px;margin-left:5px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:9px}.metric strong{font-size:38px;display:block;font-weight:normal;line-height:1.2}.metric span{font-size:12px;color:var(--muted)}.metric .bar{height:4px;background:#e5edf3;margin-top:17px}.metric .bar i{height:4px;background:var(--green);display:block}.review-grid{display:grid;grid-template-columns:1fr 280px;gap:25px}.table-wrap{background:white;border:1px solid var(--line);border-radius:9px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap}th{font-size:11px;color:var(--muted);background:#f9fbfd;padding:13px 15px}td{padding:14px 15px;border-top:1px solid var(--line);font-size:12px}td button{font-size:11px;padding:5px 10px}.review-notes{background:#eaf1f6;border-radius:9px;padding:20px}.check-note{font-size:12px;line-height:1.8;border-top:1px solid #d1dfe9;padding:10px 0}.history-list{margin-top:14px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}.history-row{display:flex;gap:20px;align-items:center;padding:12px 18px;font-size:12px;background:white}.history-row small{margin-right:auto}.delivery-hero{display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;padding:44px 60px;margin-bottom:24px}.delivery-hero h2{font-size:42px;margin:10px 0 18px}.delivery-hero p{font-size:15px;color:var(--muted);line-height:1.9}.dossier-visual{background:#fff;width:200px;height:260px;border:1px solid #ccd8e2;box-shadow:10px 12px 0 #eaf0f5,-2px 7px 20px #143d5c10;transform:rotate(-5deg);padding:22px}.dossier-visual>span{font-size:18px;color:var(--green)}.dossier-visual strong{display:block;margin:12px 0}.paper-plan{width:140px;height:100px;border:2px solid #729caf;background:linear-gradient(90deg,transparent 48%,#729caf 48%,#729caf 50%,transparent 50%),linear-gradient(0deg,transparent 48%,#729caf 48%,#729caf 50%,transparent 50%);margin-bottom:15px}.export-card{background:white;border:1px solid var(--line);border-radius:9px;padding:22px;margin:12px 0;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.export-card h3{margin:0}.export-card p{font-size:12px;color:var(--muted);margin:5px 0}.export-card nav{margin-right:auto;display:flex;gap:8px;flex-wrap:wrap}.export-card a{border:1px solid var(--line);border-radius:6px;padding:9px 14px;text-decoration:none;font-size:12px}.export-card .warning{color:#986d24}.source-modal img{width:100%;height:auto}.source-modal p{font-size:12px}dialog{border:1px solid #b4c7d5;border-radius:12px;max-width:min(1000px,94vw);width:700px;padding:28px;color:var(--navy)}dialog::backdrop{background:#143d5c70}.modal-close{float:left;border:0;font-size:25px;padding:0 5px}dialog h2{font-size:24px}.modal-form{display:grid;gap:14px}.modal-form label{margin-bottom:5px}.modal-form .checks label{display:flex;gap:8px;align-items:center;margin:6px 0}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:13px 22px;border-radius:8px;box-shadow:0 6px 30px #0002;z-index:100;max-width:90vw;font-size:13px}#toast.error{background:#934c34}[hidden]{display:none!important}#draft-status{font-size:12px;color:#8a6327;margin-top:10px}#export-state{display:block;font-size:12px;color:var(--muted);margin-top:14px}
@media(min-width:1600px){.workspace{grid-template-columns:260px minmax(500px,1fr) 300px;min-height:650px}.canvas-wrap,#plan{min-height:490px}}@media(max-width:1200px){main{padding:24px 20px}.workspace{grid-template-columns:200px minmax(350px,1fr) 230px}.drawing-toolbar button{font-size:10px;padding:5px}.survey-layout{grid-template-columns:170px minmax(300px,1fr)}.conversation{grid-column:2}.inspector #inspector-content{padding:15px}.brand{gap:12px}.topbar,.main-nav{padding-left:20px;padding-right:20px}}@media(max-width:900px){.workspace{grid-template-columns:180px 1fr}.inspector{grid-column:1/-1;border-top:1px solid var(--line);border-right:0}#inspector-content{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.inspector .panel-title,.inspector .item-id,.inspector .provenance-note,.inspector .completion{display:none}.inspector .item-meta{border:0}.inspector-actions{display:flex;margin:0}.workflow-strip{gap:7px}.workflow-strip i{width:14px}.review-grid{grid-template-columns:1fr}.review-notes{display:none}.metrics{gap:10px}.metric{padding:16px}.delivery-hero{padding:30px}.top-meta{gap:8px}}@media(max-width:640px){body{font-size:14px}.topbar{height:60px;padding:0 14px}.brand img{width:110px}.brand strong{font-size:14px}.brand{gap:10px}.top-meta .draft-badge,.top-meta #refresh{display:none}.top-meta{font-size:10px}.main-nav{height:49px;padding:0 6px;gap:0;justify-content:space-around}.main-nav button{font-size:12px;padding:0 9px}.main-nav .version{display:none}main{padding:20px 12px}.project-heading{margin-bottom:18px}.project-heading h1{font-size:27px}.project-heading p{font-size:11px;max-width:280px}.project-state{display:none}.breadcrumb{font-size:10px;margin-bottom:8px}.workspace{display:flex;flex-direction:column}.object-panel{order:2;border-left:0;border-top:1px solid var(--line)}.object-panel .hierarchy,.object-panel .panel-title,.object-panel .source-card,.object-tabs{display:none}.object-list{display:flex;max-height:none;overflow-x:auto}.object-group{display:none}.object-list .object-row{width:160px;flex-shrink:0;padding:9px;border-right:0;border-bottom:3px solid transparent}.object-list .object-row.active{border-bottom-color:var(--blue)}.object-row .missing-pill{display:none}.drawing-panel{order:1}.inspector{order:3}#plan,.canvas-wrap{min-height:390px}.canvas-top{padding:12px}.drawing-toolbar{gap:2px}.drawing-toolbar button{font-size:10px;padding:6px}.canvas-legend{font-size:9px;gap:9px;bottom:8px;right:7px;padding:6px}.canvas-bottom{font-size:9px;padding:8px}.canvas-message{font-size:9px;top:8px;right:8px;padding:5px 7px}.inspector .item-title{font-size:19px}.inspector .item-subtitle{margin:0}.inspector .item-meta{display:none}.inspector-actions{margin-right:auto}.inspector-actions button{font-size:11px;padding:8px}.inspector-actions button:not(.primary){display:none}.drawing-foot{display:none}.survey-layout{display:flex;flex-direction:column;gap:12px}.survey-items{padding:10px}.survey-items h2{font-size:12px;margin-bottom:6px}#survey-list{display:flex;overflow-x:auto}#survey-list .object-row{width:165px;flex-shrink:0;border-right:0;border-bottom:3px solid transparent}.survey-form-panel{padding:20px 16px}.survey-form-panel .section-head{margin-bottom:20px}.survey-form-panel .section-head h2{font-size:25px}.field-grid{gap:16px 10px}.field-row label{font-size:12px}.measurement{grid-template-columns:1fr 65px;gap:4px}.measurement select{padding:8px}.field-row input{padding:10px 8px}.form-actions{align-items:flex-start}.form-actions small{max-width:160px;font-size:10px}.conversation{padding:22px 18px}.chat-actions button{font-size:13px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric strong{font-size:34px}.section-head h2{font-size:25px}.section-head .draft-badge{font-size:10px}.history-row{font-size:10px;gap:10px;padding:10px}.delivery-hero{padding:25px;display:block}.delivery-hero h2{font-size:34px}.delivery-hero p{font-size:13px}.dossier-visual{display:none}.export-card{padding:18px;gap:12px}.export-card nav{margin:0}.export-card a{padding:9px 12px}.app-footer{padding:15px;font-size:9px;gap:10px}.login{display:block;min-height:100vh}.login-graphic{display:none}.login-panel{padding:40px 28px;margin:auto}.login-panel>img{margin-bottom:60px}.login-panel h1{font-size:46px}dialog{padding:22px;max-height:90vh}.modal-form{gap:10px}#photo-gallery{display:flex;flex-wrap:wrap}.workflow-strip{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

h1,h2,h3,.metric strong,.brand strong{font-family:'Heebo',Arial,sans-serif}body{font-size:15px}button{font-weight:600}.metric strong{font-variant-numeric:tabular-nums}.object-row strong{font-size:14px}.object-row small,.missing-pill{font-size:12px}.field-row label{font-size:15px}.conversation small{font-size:12px;line-height:1.6}.chat-actions{flex-wrap:wrap}.brand img{width:174px}.login-panel>img{width:245px}.object-list{max-height:440px}#voice-state{display:block;margin-top:12px}.object-row .missing-pill{font-size:11px}

.guide-link{color:#176fa6;font-weight:700;text-decoration:none;white-space:nowrap}.guide-link:hover{text-decoration:underline}.top-meta{flex-wrap:wrap}
