*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#f1f5f9;color:#0f172a;overflow:hidden}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw}.top-navbar{display:flex;align-items:center;justify-content:space-between;background:#0f172a;color:#f8fafc;padding:10px 18px;border-bottom:1px solid #1e293b;gap:12px;flex-wrap:wrap}.brand-block{display:flex;align-items:center;gap:12px}.brand-logo{width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#0284c7);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#fff}.brand-block h1{font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}.prelim-badge{background:#f59e0b;color:#0f172a;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px}.brand-subtitle{font-size:11.5px;color:#94a3b8;margin-top:2px}.concept-switcher{display:flex;align-items:center;gap:6px;font-size:12px}.concept-switcher label{color:#cbd5e1;font-weight:600}.concept-btn{background:#1e293b;color:#cbd5e1;border:1px solid #334155;padding:6px 10px;border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer}.concept-btn.active{background:#2563eb;color:#fff;border-color:#3b82f6}.header-actions{display:flex;align-items:center;gap:8px}.action-btn{background:#1e293b;color:#f8fafc;border:1px solid #334155;padding:6px 10px;border-radius:6px;font-size:11.5px;cursor:pointer}.action-btn:disabled{opacity:.45;cursor:not-allowed}.validation-summary-btn{padding:6px 12px;border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer;border:1px solid transparent}.validation-summary-btn.all-clear{background:#065f46;color:#ecfdf5;border-color:#10b981}.validation-summary-btn.has-errors{background:#991b1b;color:#fef2f2;border-color:#ef4444}.sub-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:8px 16px;border-bottom:1px solid #cbd5e1;gap:10px;flex-wrap:wrap}.workspace-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ws-tab{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.ws-tab.active{background:#0f172a;color:#fff;border-color:#0f172a}.ws-tab.compare.active{background:#0369a1;border-color:#0369a1}.ws-tab.plumbing.active{background:#b91c1c;border-color:#b91c1c}.ws-tab.view3d.active{background:#6d28d9;border-color:#6d28d9}.layer-toggles{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toggle-chip{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:#334155;cursor:pointer}.workspace-body{display:grid;grid-template-columns:280px 1fr 330px;flex:1;min-height:0}@media(max-width:1180px){.workspace-body{grid-template-columns:230px 1fr 290px}}.left-sidebar,.right-sidebar{background:#fff;border-right:1px solid #cbd5e1;overflow-y:auto;display:flex;flex-direction:column}.right-sidebar{border-right:none;border-left:1px solid #cbd5e1}.sidebar-section{padding:12px 14px;border-bottom:1px solid #e2e8f0}.sidebar-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#475569;margin-bottom:8px}.floor-dims-list{display:flex;flex-direction:column;gap:6px}.floor-dim-card{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:7px 9px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.floor-dim-card.active{background:#eff6ff;border-color:#2563eb}.floor-dim-header{display:flex;justify-content:space-between;font-size:11.5px;color:#0f172a}.floor-dim-row{display:flex;justify-content:space-between;font-size:11px;color:#334155}.floor-dim-sub{font-size:10px;color:#64748b;margin-top:1px}.floor-mini-dims-banner{margin-top:6px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;padding:5px 8px;font-size:10.5px;color:#1e3a8a;display:flex;flex-direction:column;gap:2px}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.palette-btn{background:#f8fafc;border:1px solid #cbd5e1;padding:6px 8px;border-radius:5px;font-size:11.5px;font-weight:600;color:#1e293b;cursor:pointer;text-align:left}.palette-btn:hover{background:#eff6ff;border-color:#3b82f6}.room-list{display:flex;flex-direction:column;gap:6px}.room-list-item{padding:8px 10px;border-radius:6px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer}.room-list-item.selected{border-color:#2563eb;background:#eff6ff}.room-list-title{display:flex;justify-content:space-between;font-size:12px}.area-tag{font-weight:700;color:#1d4ed8}.room-list-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;margin-top:3px}.prov-pill{background:#fef3c7;color:#92400e;font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:3px}.small-desc{font-size:11.5px;color:#334155;line-height:1.45;margin-bottom:8px}.tradeoff-list{padding-left:15px;font-size:11px;color:#475569;display:flex;flex-direction:column;gap:5px}.center-stage{position:relative;background:#e2e8f0;overflow:hidden;display:flex;flex-direction:column}.toast-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:30;background:#0f172a;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:700;box-shadow:0 4px 12px #0003}.canvas2d-wrapper{display:flex;flex-direction:column;height:100%;width:100%;position:relative}.canvas-floating-controls{position:absolute;top:10px;left:12px;z-index:10;display:flex;align-items:center;gap:6px;background:#ffffffeb;padding:6px 10px;border-radius:8px;border:1px solid #cbd5e1;box-shadow:0 2px 6px #0f172a14}.ctrl-btn{background:#f8fafc;border:1px solid #cbd5e1;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer}.scale-pill{font-size:11px;font-weight:700;color:#334155;margin-left:6px}.canvas-svg-Stage{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;cursor:grab}.canvas-svg-Stage:active{cursor:grabbing}.right-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #cbd5e1;background:#f8fafc}.right-tabs button{padding:9px 4px;font-size:11px;font-weight:700;border:none;background:transparent;color:#475569;cursor:pointer;border-bottom:2px solid transparent}.right-tabs button.active{color:#1d4ed8;border-bottom-color:#2563eb;background:#fff}.right-panel-content{padding:14px;overflow-y:auto;flex:1}.inspector-form{display:flex;flex-direction:column;gap:10px}.inspector-header{display:flex;justify-content:space-between;align-items:center}.vastu-badge{background:#fef3c7;color:#92400e;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:4px}.field-label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:#334155}.field-label input,.field-label select{padding:6px 8px;border:1px solid #cbd5e1;border-radius:5px;font-size:12px}.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metrics-callout{background:#f8fafc;border:1px solid #e2e8f0;padding:8px 10px;border-radius:6px;font-size:11.5px;display:flex;flex-direction:column;gap:4px}.checkbox-inline{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;cursor:pointer}.propagate-btn{background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd;padding:7px 10px;border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer}.sub-editor-block{border-top:1px solid #e2e8f0;padding-top:8px;display:flex;flex-direction:column;gap:6px}.sub-editor-header{display:flex;justify-content:space-between;align-items:center;font-size:11.5px}.sub-editor-header select{font-size:11px;padding:3px 6px;border-radius:4px;border:1px solid #cbd5e1}.mini-add-btn{background:#f1f5f9;border:1px solid #cbd5e1;padding:3px 7px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer}.opening-row{display:flex;align-items:center;gap:6px;font-size:11.5px}.opening-row select,.opening-row input{padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:11px}.opening-row input{width:58px}.fixture-name{flex:1;font-weight:600}.fixture-dim{color:#64748b;font-size:11px}.mini-del-btn{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;width:22px;height:22px;border-radius:4px;cursor:pointer;font-weight:800}.delete-room-btn{margin-top:8px;background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5;padding:8px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.validation-disclaimer{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:8px 10px;border-radius:6px;font-size:11px;line-height:1.4;margin-bottom:10px}.all-pass-box{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;padding:12px;border-radius:6px;font-size:12px;font-weight:700}.issue-list{display:flex;flex-direction:column;gap:8px}.issue-card{padding:10px;border-radius:6px;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer}.issue-card.sev-error{border-left:4px solid #dc2626;background:#fef2f2}.issue-card.sev-warning{border-left:4px solid #f59e0b;background:#fffbeb}.issue-card.sev-vastu{border-left:4px solid #8b5cf6;background:#f5f3ff}.issue-top{display:flex;justify-content:space-between;margin-bottom:4px}.sev-badge{font-size:9.5px;font-weight:800;padding:1px 5px;border-radius:3px}.sev-badge.error{background:#dc2626;color:#fff}.sev-badge.warning{background:#d97706;color:#fff}.sev-badge.vastu{background:#7c3aed;color:#fff}.floor-tag{font-size:10px;font-weight:700;color:#475569}.issue-card h5{font-size:12px;margin-bottom:3px}.issue-card p{font-size:11px;color:#334155;margin-bottom:5px}.issue-rec{font-size:10.5px;color:#0f172a}.exports-panel{display:flex;flex-direction:column;gap:14px}.muted-note{font-size:11px;color:#64748b;line-height:1.4}.export-group{display:flex;flex-direction:column;gap:6px;font-size:12px}.export-primary-btn{background:#2563eb;color:#fff;border:none;padding:10px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.export-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.export-btn-grid button{background:#f8fafc;border:1px solid #cbd5e1;padding:7px 8px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer}.export-btn-grid button:hover{background:#eff6ff;border-color:#3b82f6}.comparison-container{padding:16px;overflow-y:auto;height:100%;display:flex;flex-direction:column;gap:14px}.comparison-header{background:#fff;padding:12px 16px;border-radius:8px;border:1px solid #cbd5e1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.comparison-header h3{font-size:15px;margin-bottom:3px}.comparison-header p{font-size:12px;color:#475569}.three-floor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.floor-mini-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px;display:flex;flex-direction:column}.floor-mini-header{margin-bottom:8px}.floor-badge{background:#0f172a;color:#fff;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px}.floor-mini-header h4{font-size:13px;margin-top:4px}.floor-mini-header p{font-size:11px;color:#64748b}.floor-mini-svg{width:100%;height:auto;border:1px solid #e2e8f0;border-radius:4px}.plumbing-overlay-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.plumbing-svg-card,.plumbing-schedule-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:14px}.plumbing-master-svg{width:100%;max-height:620px}.stack-legend{display:flex;gap:8px;flex-wrap:wrap}.legend-chip{font-size:11px;font-weight:700;padding:4px 8px;border-radius:4px;border:1px solid;background:#fff}.arch-table{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:10px}.arch-table th,.arch-table td{padding:7px 8px;border-bottom:1px solid #e2e8f0;text-align:left}.clickable-row{cursor:pointer}.clickable-row:hover{background:#eff6ff}.floor-pill{color:#fff;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px}.engineering-disclaimer-box{margin-top:14px;background:#f8fafc;border:1px solid #cbd5e1;padding:10px;border-radius:6px;font-size:11px;color:#334155;line-height:1.45}.viewer3d-wrapper{display:flex;flex-direction:column;height:100%;width:100%}.viewer3d-toolbar{background:#fff;padding:8px 16px;border-bottom:1px solid #cbd5e1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px}.floor-toggles{display:flex;align-items:center;gap:10px}.checkbox-pill{display:flex;align-items:center;gap:5px;background:#f1f5f9;padding:4px 10px;border-radius:16px;border:1px solid #cbd5e1;font-size:11.5px;font-weight:600;cursor:pointer}.viewer3d-stage{flex:1;width:100%;min-height:420px}.viewer3d-footer{background:#0f172a;color:#cbd5e1;padding:8px 16px;font-size:11.5px;display:flex;justify-content:space-between;flex-wrap:wrap}
