:root{--orange:#ff6b35;--orange-2:#f7b500;--blue:#4fc3f7;--ink:#1a1a1a;--muted:#888;--border:#e5e5e5;--bg:#fafafa;--card:#fff;--topbar-h:50px;--actionbar-h:46px;--sticky-h:96px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:60;min-height:var(--topbar-h);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;justify-content:space-between;align-items:center;padding:.35rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 1px #00000005}.brand{color:var(--ink);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.brand img{transition:transform .18s}.brand:hover img{transform:scale(1.04)}.brand-mark{color:var(--orange);font-size:1.4rem}.brand-text{background:linear-gradient(90deg, var(--orange), var(--orange-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.topnav{align-items:center;gap:.3rem;font-size:.9rem;display:flex}.topnav a{color:var(--ink);border-radius:6px;padding:.3rem .65rem;font-size:.86rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.topnav a:hover{background:#f5f5f5}.topnav a.active{color:var(--orange);background:#ff6b351a;font-weight:600}.topnav>button{margin-left:.3rem;transition:background .15s,border-color .15s,color .15s}.topnav>button:hover{background:#f5f5f5;border-color:#cfcfcf}.muted{color:var(--muted);font-size:.8rem}.main{flex:1;width:100%;max-width:100%;margin:0 auto;padding:.7rem 1rem}@media (width>=1900px){.main{max-width:1840px}}h1{margin-bottom:.3rem;font-size:1.55rem;font-weight:700}h2{margin-bottom:.35rem;font-size:1.05rem;font-weight:600}.lead{color:var(--muted);margin-bottom:.6rem;font-size:.85rem}.btn{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:#e85a26}.btn-secondary{color:var(--ink);border:1px solid var(--border);background:#fff}.btn-secondary:hover{background:#f5f5f5}.btn-ghost{color:var(--orange);background:0 0}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;padding:.75rem .85rem}.card-row{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.4rem;padding:.6rem .9rem;display:flex}.card-row:hover{border-color:var(--orange)}.card-row a{color:var(--ink);flex:1;text-decoration:none}.card-row .meta{color:var(--muted);font-size:.85rem}.empty{text-align:center;color:var(--muted);padding:3rem 1rem}.filter-tabs{background:#f0f0f0;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.filter-tabs button{cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:500;display:inline-flex}.filter-tabs button:hover{background:#e0e0e0}.filter-tabs button.active{color:var(--orange);background:#fff;box-shadow:0 1px 3px #00000014}.filter-tabs .count{background:#00000014;border-radius:10px;padding:1px 7px;font-size:.72rem;font-weight:700}.filter-tabs button.active .count{color:var(--orange);background:#ff6b3526}.form{grid-template-columns:1fr 1fr;gap:.55rem .75rem;max-width:720px;display:grid}.form .full{grid-column:1/-1}.field{flex-direction:column;gap:.2rem;display:flex}.field label{color:var(--muted);font-size:.76rem;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border);background:#fff;border-radius:6px;padding:.42rem .6rem;font-family:inherit;font-size:.9rem}.field input:focus,.field select:focus{border-color:var(--orange);outline:none}.actions{z-index:40;border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;grid-column:1/-1;gap:.45rem;margin:.5rem -1rem 0;padding:.45rem .75rem;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 6px #0000000a}.tools-sticky{top:calc(var(--sticky-h) + 4px);z-index:35;background:#fff;position:sticky;box-shadow:0 1px 4px #0000000a}.actions .btn{padding:.45rem .85rem;font-size:.85rem}.workspace-content{padding-bottom:.2rem}.action-bar{top:var(--topbar-h);z-index:50;border-bottom:1px solid var(--border);min-height:var(--actionbar-h);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:-.7rem -1rem .5rem;padding:.4rem .85rem;display:flex;position:sticky;box-shadow:0 2px 6px #0000000a}.action-bar-left{flex-wrap:wrap;align-items:center;gap:.7rem;min-width:0;display:flex}.action-bar-project{flex-direction:column;min-width:0;line-height:1.2;display:flex}.action-bar-project strong{font-size:.9rem}.action-bar-addr{white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:.74rem;overflow:hidden}.status-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.18rem .45rem;font-size:.68rem;font-weight:700}.design-mode-toggle{border:1px solid var(--border);background:#f1f5f9;border-radius:7px;gap:2px;margin-left:.4rem;padding:2px;display:inline-flex}.design-mode-toggle button{color:#475569;cursor:pointer;letter-spacing:.01em;background:0 0;border:0;border-radius:5px;padding:.25rem .6rem;font-size:.74rem;font-weight:600;transition:background .12s,color .12s}.design-mode-toggle button:hover:not(.active){color:#1c2530;background:#fff}.design-mode-toggle button.active{color:#1c2530;background:#fff;box-shadow:0 1px 3px #0000001f}.action-bar-right{align-items:center;gap:.3rem;display:flex}.action-bar-right .btn{padding:.38rem .75rem;font-size:.82rem}.more-menu{position:relative}.more-menu-list{border:1px solid var(--border);z-index:100;background:#fff;border-radius:8px;min-width:180px;padding:.3rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 6px 20px #0000001a}.more-menu-list button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:.55rem .7rem;font-size:.88rem;display:block}.more-menu-list button:hover{background:#f5f5f5}.more-menu-list button.danger{color:#c62828}.more-menu-list hr{border:0;border-top:1px solid var(--border);margin:.3rem 0}.stat-bar{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;scrollbar-width:thin;background:linear-gradient(#fff 0%,#fafbfc 100%);align-items:center;gap:1rem;margin:-.4rem -1rem .4rem;padding:.32rem .85rem .36rem;display:flex;overflow-x:auto}.stat-bar .stat{white-space:nowrap;align-items:baseline;gap:.35rem;line-height:1.1;display:flex}.stat-bar .stat-value{color:#1c2530;letter-spacing:-.01em;font-size:.95rem;font-weight:700}.stat-bar .stat-unit{color:var(--muted);font-size:.74rem;font-weight:500}.stat-bar .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.stat-bar .stat-divider{background:var(--border);flex-shrink:0;width:1px;height:18px}@media (width<=900px){.stat-bar{gap:.7rem;padding:.28rem .55rem}.stat-bar .stat-value{font-size:.88rem}.stat-bar .stat-label{font-size:.58rem}}.acc-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.7rem;margin:.85rem 0 1rem;display:grid}.acc-card{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:.7rem;padding:.75rem .85rem;transition:border-color .15s,background .15s,transform 80ms,box-shadow .15s;display:flex}.acc-card:hover{border-color:var(--orange);background:#fffbf7;box-shadow:0 2px 8px #ff6b3514}.acc-card.added{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#4ade80}.acc-card input[type=checkbox]{accent-color:#2e7d32;cursor:pointer;flex-shrink:0;width:20px;height:20px;margin-top:2px}.acc-card-body{flex:1;min-width:0}.acc-card-name{color:#0f172a;margin-bottom:.2rem;font-size:.95rem;font-weight:700}.acc-card-benefit{color:#475569;font-size:.8rem;line-height:1.45}.install-pipeline{background:linear-gradient(#f0fdf4 0%,#fff 100%);border:1px solid #bbf7d0;border-radius:8px;padding:.6rem .85rem .7rem}.install-pipeline-head{align-items:baseline;gap:.8rem;margin-bottom:.55rem;display:flex}.install-pipeline-head h3{color:#166534;letter-spacing:.02em;margin:0;font-size:.85rem;font-weight:800}.install-pipeline-head .muted{color:#475569;font-size:.72rem}.install-pipeline-stages{flex-wrap:wrap;gap:.4rem;display:flex}.install-stage{border:1.5px solid var(--border);cursor:pointer;text-align:center;color:#1c2530;background:#fff;border-radius:8px;min-width:92px;padding:.42rem .7rem;font-size:.74rem;transition:transform 80ms,box-shadow .15s,background .15s}.install-stage:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.install-stage.reached{background:#f1f5f9;border-color:#94a3b8}.install-stage.active{font-weight:700;box-shadow:0 2px 8px #0000001f}.install-stage .label{font-weight:700}.install-stage .date{opacity:.85;font-variant-numeric:tabular-nums;margin-top:2px;font-size:.65rem}.workspace{grid-template-columns:124px minmax(0,1fr) 200px;align-items:start;gap:.5rem;display:grid}.workspace.summary-collapsed{grid-template-columns:124px minmax(0,1fr) 28px}.workspace.canvas-mode{grid-template-columns:124px minmax(0,1fr)}@media screen and (width<=1280px){.workspace{grid-template-columns:120px minmax(0,1fr)}.workspace .design-sidebar{display:none}}@media screen and (width<=900px){.workspace{grid-template-columns:1fr}.workspace .stage-rail{flex-flow:wrap;display:flex}}.design-sidebar.collapsed{padding:.25rem .2rem}.design-sidebar.collapsed>:not(.summary-toggle){display:none}.summary-toggle{border:1px solid var(--border);cursor:pointer;width:100%;height:28px;color:var(--muted);background:0 0;border-radius:6px;justify-content:center;align-items:center;margin-bottom:.4rem;padding:0;font-size:.7rem;display:flex}.summary-toggle:hover{background:#f0f0f0}.design-sidebar.collapsed .summary-toggle{writing-mode:vertical-rl;height:100%;min-height:80px;margin:0;transform:rotate(180deg)}.workspace-content{min-width:0}.workspace-content>*{max-width:100%}.shared-canvas-wrap{gap:.5rem;min-width:0;min-height:calc(100vh - 175px);display:flex}.shared-canvas-main{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.shared-canvas-banner{color:#1c2530;background:linear-gradient(135deg,#fff5ed,#ffe4d3);border-bottom:1px solid #ffd9bd;flex-shrink:0;justify-content:space-between;align-items:center;gap:.8rem;padding:.4rem .8rem;font-size:.75rem;display:flex}.shared-canvas-banner a{color:var(--orange);font-weight:700;text-decoration:none}.shared-canvas-banner a:hover{text-decoration:underline}.shared-canvas-main .project-canvas{flex:1;width:100%;min-height:400px}.shared-canvas-main{position:relative}.canvas-left-palette{z-index:5;-webkit-backdrop-filter:blur(6px);background:#1c2530eb;border-radius:9px;flex-direction:column;gap:3px;padding:4px;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 4px 12px #0000004d}.clp-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .12s,transform 80ms;display:flex}.clp-btn:hover:not(:disabled){background:#ffffff1f;transform:translateY(-1px)}.clp-btn.active{background:linear-gradient(135deg, var(--orange), #ff8a5b);box-shadow:0 2px 6px #ff6b3566}.clp-btn:disabled{cursor:not-allowed}.clp-btn.soon .clp-icon{filter:grayscale(.7);opacity:.45}.clp-btn.soon:hover:not(:disabled) .clp-icon{filter:grayscale(0);opacity:.7}.clp-icon{font-size:18px;line-height:1}.canvas-tools{border:1px solid var(--border);background:#fff;border-radius:8px;flex-shrink:0;align-self:flex-start;width:240px;max-height:calc(100vh - 175px);padding:.6rem .75rem;overflow-y:auto}.canvas-tools-head{justify-content:space-between;align-items:baseline;margin-bottom:.55rem;display:flex}.canvas-tools-head h3{color:#0f172a;margin:0;font-size:1rem}.canvas-tools-head .muted{font-size:.74rem}.canvas-tools-faces{flex-direction:column;gap:.4rem;display:flex}.canvas-tools-face{text-align:left;border:1.5px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:8px;align-items:stretch;gap:.5rem;padding:.45rem .55rem;transition:transform 80ms,box-shadow .15s,background .15s;display:flex}.canvas-tools-face:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.canvas-tools-face.active{border-color:var(--orange);background:linear-gradient(135deg,#fff5ed,#ffe4d3)}.canvas-tools-face .face-num{color:var(--orange);align-items:center;min-width:28px;font-size:1rem;font-weight:800;display:flex}.canvas-tools-face .face-rows{flex-direction:column;flex:1;gap:.12rem;font-size:.72rem;display:flex}.canvas-tools-face .face-row{justify-content:space-between;display:flex}.canvas-tools-face .face-row span{color:var(--muted)}.canvas-tools-face .face-row b{color:#0f172a;font-variant-numeric:tabular-nums}.canvas-tools-face .face-row.warn{color:#c62828;font-size:.68rem;font-weight:700}.canvas-tools-detail{border-top:1px solid var(--border);flex-direction:column;gap:.45rem;margin-top:.7rem;padding-top:.7rem;display:flex}.canvas-tools-detail-head{color:var(--orange);font-size:.82rem;font-weight:800}.canvas-tools-detail label{color:var(--muted);flex-direction:column;gap:2px;font-size:.72rem;display:flex}.canvas-tools-detail label.inline{color:#0f172a;cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-size:.78rem}.canvas-tools-detail input[type=number]{border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.canvas-stats-panel{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.4rem;width:240px;max-height:calc(100vh - 175px);display:flex;overflow-y:auto}.csp-project-head,.csp-equipment,.csp-layers,.csp-section{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.55rem .75rem}.csp-project-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:700}.csp-project-addr{color:#0f172a;margin-top:3px;font-size:.85rem;font-weight:700;line-height:1.3}.csp-equipment-row{justify-content:space-between;align-items:center;display:flex}.csp-equipment-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.csp-equipment-pill{border:1px solid var(--border);color:#1c2530;background:#f8fafc;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;padding:.4rem .55rem;font-size:.82rem;font-weight:600;display:flex}.csp-recommended{color:#7c4dff;text-transform:uppercase;letter-spacing:.04em;background:#ede9fe;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:.62rem;font-weight:800}.csp-layers{flex-direction:column;gap:1px;display:flex}.csp-layers-head{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.66rem;font-weight:700}.csp-layer-row{color:#0f172a;border-top:1px solid #f1f5f9;align-items:center;gap:8px;padding:.32rem 0;font-size:.78rem;display:flex}.csp-layer-row:first-of-type{border-top:0;padding-top:0}.csp-layer-row.dim{color:#94a3b8}.csp-layer-dot{border-radius:2px;flex-shrink:0;width:4px;height:18px}.csp-layer-label{flex:1;font-weight:500}.csp-layer-count{font-variant-numeric:tabular-nums;color:#1c2530;font-weight:700}.csp-layer-row.dim .csp-layer-count{color:#94a3b8;font-weight:500}.csp-section h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.66rem;font-weight:700}.csp-compliance{flex-direction:column;gap:.4rem;display:flex}.csp-badge{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border:1.5px solid #bbf7d0;border-radius:8px;flex-direction:column;gap:2px;padding:.45rem .6rem;display:flex}.csp-badge.ok .csp-badge-status{color:#166534;font-size:.78rem;font-weight:700}.csp-badge-label{color:#1c2530;font-size:.72rem;font-weight:600}.stage-rail{border:1px solid var(--border);top:calc(var(--sticky-h) + 8px);z-index:30;background:#fff;border-radius:8px;flex-direction:column;gap:.1rem;padding:.25rem;display:flex;position:sticky;box-shadow:0 1px 2px #00000008}.stage-rail a{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .4rem;font-size:.76rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s,transform 80ms;display:flex;overflow:hidden}.stage-rail a:hover{background:#f7f7f7}.stage-rail a:active{transform:translate(1px)}.stage-rail a.active{background:linear-gradient(135deg, var(--orange), #ff8a5b);color:#fff;font-weight:600;box-shadow:0 2px 6px #ff6b3540}.stage-rail .num{color:#555;background:#eee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;font-size:.7rem;font-weight:700;transition:background .12s,color .12s;display:inline-flex}.stage-rail a.active .num{color:#fff;background:#ffffff4d}.stage-rail a:not(.active):hover .num{background:#e0e0e0}.workspace.canvas-mode .stage-rail{background:#1a1f3a;border-color:#0f1430;box-shadow:0 1px 2px #00000026}.workspace.canvas-mode .stage-rail a{color:#cbd5e1}.workspace.canvas-mode .stage-rail a:hover{color:#fff;background:#2d3552}.workspace.canvas-mode .stage-rail a.active{background:linear-gradient(135deg, var(--orange), #ff8a5b);color:#fff;box-shadow:0 2px 6px #ff6b3566}.workspace.canvas-mode .stage-rail .num{color:#cbd5e1;background:#2d3552}.workspace.canvas-mode .stage-rail a:not(.active):hover .num{color:#fff;background:#3a4366}.workspace.canvas-mode .stage-rail a.active .num{color:#fff;background:#ffffff4d}.design-sidebar{top:calc(var(--sticky-h) + 8px);z-index:30;border:1px solid var(--border);max-height:calc(100vh - var(--sticky-h) - 18px);background:#fff;border-radius:8px;padding:.55rem .7rem;font-size:.83rem;position:sticky;overflow-y:auto;box-shadow:0 1px 2px #00000008}.design-sidebar::-webkit-scrollbar{width:6px}.design-sidebar::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.design-sidebar::-webkit-scrollbar-thumb:hover{background:#bbb}.design-sidebar h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem;font-size:.66rem;font-weight:700}.design-sidebar .stage-block+.stage-block{border-top:1px solid var(--border);margin-top:.45rem;padding-top:.45rem}.design-sidebar .stage-block .head{justify-content:space-between;align-items:baseline;display:flex}.design-sidebar .stage-block .head strong{text-transform:capitalize;font-size:.8rem}.design-sidebar .stage-block .head a{color:var(--muted);font-size:.66rem;text-decoration:none}.design-sidebar .stage-block .row{margin-top:.12rem;font-size:.76rem;line-height:1.3}.design-sidebar .stage-block .row .label{color:var(--muted);font-size:.68rem;display:block}.stages{flex-direction:column;gap:.2rem;display:flex}.stages a{color:var(--ink);border-radius:8px;align-items:center;gap:.6rem;padding:.7rem 1rem;font-size:.9rem;text-decoration:none;display:flex}.stages a:hover{background:#f0f0f0}.stages a.active{background:var(--orange);color:#fff;font-weight:600}.stages .num{color:#555;background:#eee;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:600;display:inline-flex}.stages a.active .num{color:#fff;background:#ffffff4d}.workspace-content{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:50vh;padding:.45rem .7rem .3rem}.placeholder{color:var(--muted);text-align:center;border:2px dashed var(--border);border-radius:8px;padding:2rem}@media screen and (width<=600px){body{font-size:13.5px}.main{padding:.8rem .7rem!important}.topbar{flex-wrap:wrap;gap:.4rem;padding:.5rem .7rem!important}.topbar .brand img{height:30px!important}.topnav{flex-wrap:wrap;font-size:.82rem;gap:.7rem!important}.topnav a{padding:.25rem 0}.action-bar{flex-direction:column;gap:.45rem;align-items:stretch!important;margin:-.8rem -.7rem .7rem!important;padding:.55rem .7rem!important}.action-bar-left{flex-direction:column;gap:.35rem;width:100%;align-items:flex-start!important}.action-bar-addr{word-break:break-word;white-space:normal!important;max-width:100%!important}.action-bar-right{flex-wrap:wrap;gap:.3rem!important}.action-bar-right .btn{flex:auto;padding:.4rem .55rem!important;font-size:.78rem!important}.stage-rail{overflow-x:auto;flex-direction:row!important;padding:.25rem!important;display:flex!important;position:static!important}.stage-rail a{white-space:nowrap;flex-shrink:0;padding:.45rem .65rem!important;font-size:.8rem!important}.stage-rail .num{width:18px;height:18px;font-size:.7rem}.form{grid-template-columns:1fr!important;gap:.65rem!important}.field input,.field select,.field textarea{font-size:16px}.card{padding:.85rem!important}table{font-size:.82rem}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.workspace-content table,.main table{-webkit-overflow-scrolling:touch;white-space:nowrap;display:block;overflow-x:auto}.workspace-content table thead,.workspace-content table tbody,.main table thead,.main table tbody{width:100%;min-width:480px;display:table}.card-row{flex-wrap:wrap;gap:.4rem;padding:.6rem .8rem!important}.card-row .meta{font-size:.75rem}.filter-tabs{justify-content:stretch;width:100%}.filter-tabs button{flex:1}.design-sidebar{display:none!important}.workspace{grid-template-columns:1fr!important;gap:.6rem!important}.maplibregl-map{min-height:320px}.status-badge{padding:.2rem .45rem;font-size:.65rem}.btn{padding:.55rem .85rem;font-size:.85rem}.actions{flex-wrap:wrap}.actions .btn{flex:auto;min-width:110px}.shared-canvas-wrap{flex-direction:column;min-height:0}.canvas-stats-panel{flex-shrink:1;width:100%!important;max-height:none!important}.more-menu-list{min-width:0;max-width:calc(100vw - 1.4rem)}.dhw-price-grid{grid-template-columns:1fr!important}.project-type-card{flex:100%!important}}@media screen and (width<=480px){.topnav a:not(:last-child):not(.active){display:none}.action-bar-project strong{font-size:.88rem}h1{font-size:1.4rem!important}h2{font-size:1.1rem!important}.more-menu-list{right:-.2rem}}@media screen and (width>=961px) and (width<=1280px){.workspace{grid-template-columns:95px minmax(0,1fr) 195px!important;gap:.4rem!important}.workspace.summary-collapsed{grid-template-columns:95px minmax(0,1fr) 28px!important}.workspace .design-sidebar{display:block!important}.design-sidebar{padding:.4rem .5rem;font-size:.78rem}.design-sidebar h3{margin-bottom:.25rem;font-size:.62rem}.stage-rail a{padding:.3rem .4rem;font-size:.72rem}.stage-rail .num{width:18px;height:18px;font-size:.65rem}.btn{min-height:40px;padding:.5rem .85rem;font-size:.86rem}.actions .btn{min-height:44px}.card-row{min-height:48px;padding:.7rem .9rem}}@media screen and (width<=960px){.mfg-sidebar{width:184px!important}.mfg-sidebar nav a{min-height:40px;padding:.5rem .7rem!important;font-size:.85rem!important}}@media screen and (width>=601px) and (width<=960px){body{font-size:14px}.topnav{font-size:.9rem;gap:.85rem!important}.topnav a,.topnav button{min-height:36px;padding:.4rem .5rem!important}.workspace{grid-template-columns:1fr!important;gap:.55rem!important}.workspace .design-sidebar{display:none!important}.workspace .stage-rail{-webkit-overflow-scrolling:touch;top:calc(var(--sticky-h) + 8px);z-index:30;background:#fff;position:sticky;overflow-x:auto;flex-direction:row!important;padding:.3rem .4rem!important;display:flex!important}.workspace .stage-rail a{white-space:nowrap;flex-shrink:0;align-items:center;min-height:40px;display:inline-flex;padding:.55rem .75rem!important;font-size:.88rem!important}.workspace .stage-rail .num{width:22px;height:22px;font-size:.78rem}.action-bar{flex-wrap:wrap;padding:.6rem .9rem!important}.action-bar-right{gap:.4rem!important}.action-bar-right .btn{min-height:40px;padding:.5rem .7rem!important;font-size:.85rem!important}.maplibregl-map{min-height:540px!important}.btn{min-height:44px;padding:.6rem .95rem;font-size:.88rem}.actions{padding:.55rem .8rem}.actions .btn{flex:auto;min-width:130px}.form{grid-template-columns:1fr 1fr;gap:.6rem .75rem}.field input,.field select,.field textarea{min-height:42px;padding:.45rem .6rem;font-size:16px}.card{padding:1rem!important}.card-row{min-height:52px;padding:.85rem 1rem}.modal,[role=dialog]{max-width:92vw!important}.workspace-content table,.main table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.status-badge{padding:.25rem .5rem;font-size:.72rem}.back-office-menu>button{min-height:40px;padding:.4rem .85rem!important;font-size:.9rem!important}}@media screen and (width<=768px){.share-wrap{padding:.5rem!important}.proposal-doc{max-width:100%!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:.6rem!important}.proposal-page{height:auto!important;min-height:0!important;margin:0!important;padding:0!important}.proposal-page img[alt$=logo]{max-width:110px!important;max-height:32px!important}.proposal-page>div[style*="justify-content: space-between"]:first-child,.proposal-page>div[style*=justifyContent][style*=space-between]:first-child{flex-wrap:wrap!important;gap:.5rem!important}.proposal-page div[style*=grid-template-columns],.proposal-page ul[style*=grid-template-columns]{grid-template-columns:1fr!important;gap:.6rem!important}.proposal-page div[style*="linear-gradient(135deg, #ff6b35"]{grid-template-columns:1fr 1fr!important}.proposal-page div[style*="font-size: 2.2rem"],.proposal-page div[style*="font-size: 2.3rem"],.proposal-page div[style*="font-size: 2.4rem"]{font-size:1.5rem!important;line-height:1.1!important}.proposal-page h1{font-size:1.4rem!important;line-height:1.15!important}.proposal-page h2{font-size:1.15rem!important}.proposal-page h3{font-size:.95rem!important}.proposal-page table{font-size:.82rem!important}.proposal-page section{margin-bottom:1rem!important}.proposal-page svg{width:100%!important;height:auto!important}.proposal-page .maplibregl-map{height:260px!important;min-height:0!important}}@media print{@page{size:letter;margin:.5in}body{font-size:10.5pt;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.topbar,.stage-rail,.design-sidebar,.action-bar,.actions,.no-print,.more-menu-list{display:none!important}.workspace{grid-template-columns:none!important;display:block!important}.workspace-content{background:0 0!important;border:0!important;padding:0!important}.main{max-width:none!important;padding:0!important}.inspection-doc,.proposal-doc{box-shadow:none!important;border:0!important;padding:0!important}.proposal-page{break-inside:auto}.proposal-page>.protect,.proposal-page svg,.proposal-page table,.proposal-page .maplibregl-map,.proposal-page>div[style*=border-radius]>svg,.proposal-page>div[style*=background]>svg,section,.card,.stage-block,table,tr{page-break-inside:avoid;break-inside:avoid}h1,h2,h3{page-break-after:avoid;break-after:avoid-page}svg,canvas,img{page-break-inside:avoid;max-width:100%!important}.proposal-page img[alt$=logo],.inspection-doc img[alt$=logo]{object-fit:contain!important;width:auto!important;max-width:130px!important;height:auto!important;max-height:48px!important}.maplibregl-map{page-break-inside:avoid}.maplibregl-ctrl-attrib,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-right{display:none!important}a{color:inherit!important;text-decoration:none!important}}.pac-container{z-index:10000;border:1px solid var(--border);border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 6px 20px #00000026}.pac-item{cursor:pointer;padding:.5rem .7rem;font-size:.9rem}.pac-item:hover{background:#f5f5f5}.pac-icon{display:none}.pac-item-query{color:var(--ink);font-weight:600}
