:root{--bg:#eef1f4;--panel:#fff;--ink:#182024;--muted:#69757d;--line:#d9e0e4;--brand:#0d5c4b;--gold:#c89b4b;--danger:#c7473d;--toolbar:48px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.topbar{height:62px;background:#101918;color:#fff;display:flex;align-items:center;padding:0 16px;gap:24px}.brand{display:flex;align-items:center;gap:10px;min-width:270px}.brandmark{width:34px;height:34px;border-radius:9px;background:var(--gold);color:#17211f;display:grid;place-items:center;font-weight:900}.brand div{display:flex;flex-direction:column}.brand small{color:#aebbb7}.tabs{display:flex;height:100%;gap:4px}.tabs button{background:none;border:0;color:#aebbb7;padding:0 18px;border-bottom:3px solid transparent;cursor:pointer}.tabs button.active{color:#fff;border-bottom-color:var(--gold)}.sync{margin-left:auto;color:#b8c4c0;font-size:13px;display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;background:#47c980;border-radius:50%}main{height:calc(100% - 62px)}.screen{height:100%;display:none}.screen.active{display:block}.page-pad{padding:24px;height:100%;overflow:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.cards article,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.cards b{font-size:28px;display:block}.cards span{color:var(--muted)}.layout-screen.active{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;height:100%}.left-panel,.right-panel{background:#fff;border-right:1px solid var(--line);overflow:auto}.right-panel{border-right:0;border-left:1px solid var(--line)}.panel-title{height:52px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-title h2{font-size:15px}.panel-title button{border:0;background:#f1f4f5;border-radius:6px;width:30px;height:30px}.page-list{padding:10px}.page-card{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:8px;border:1px solid transparent;border-radius:8px;cursor:pointer;margin-bottom:8px}.page-card:hover{background:#f3f6f5}.page-card.active{background:#e7f1ee;border-color:#8bb7ab}.page-card img{width:72px;height:48px;object-fit:cover;border:1px solid #bbc4c8}.page-card strong{font-size:13px;display:block}.page-card small{color:var(--muted)}.layer-block{border-top:1px solid var(--line);padding:14px}.layer-block h3{font-size:13px}.layer-block label{display:block;margin:12px 0;font-size:13px}.viewer-column{min-width:0;display:grid;grid-template-rows:var(--toolbar) minmax(0,1fr)}.drawing-toolbar{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:3px;padding:4px 7px;overflow-x:auto}.drawing-toolbar button{height:38px;min-width:38px;border:1px solid transparent;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;color:#354047}.drawing-toolbar button span{font-size:11px}.drawing-toolbar button:hover{background:#eef3f1}.drawing-toolbar button.active{background:#dfeee9;border-color:#7baa9d;color:#0d5c4b}.divider{height:28px;border-left:1px solid var(--line);margin:0 4px}.viewer{position:relative;overflow:hidden;background:#737c80;touch-action:none;outline:none;cursor:crosshair}.stage{position:absolute;transform-origin:0 0;will-change:transform;user-select:none}.stage img{position:absolute;left:0;top:0;width:3240px;height:2160px;pointer-events:none}.stage svg{position:absolute;left:0;top:0;width:3240px;height:2160px;overflow:visible}.viewer.pan{cursor:grab}.viewer.panning{cursor:grabbing}.viewer.select{cursor:default}.viewer-help{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(20,28,30,.78);color:#fff;padding:6px 12px;border-radius:18px;font-size:11px;pointer-events:none;white-space:nowrap}.markup{cursor:pointer}.markup.selected{filter:url(#shadow)}.selection-box{fill:none;stroke:#1687ff;stroke-width:4;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.handle{fill:white;stroke:#1687ff;stroke-width:3;vector-effect:non-scaling-stroke}.comment-pin{cursor:pointer}.right-tabs{display:flex;border-bottom:1px solid var(--line)}.right-tabs button{flex:1;height:46px;border:0;background:#fff;border-bottom:3px solid transparent}.right-tabs button.active{border-bottom-color:var(--brand);color:var(--brand);font-weight:700}.side-content{display:none;padding:14px}.side-content.active{display:block}.empty-state{color:var(--muted);font-size:13px;padding:20px 4px}.hidden{display:none!important}.prop-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.prop-form input,.prop-form select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:8px;color:var(--ink);background:#fff}.prop-form input[type=color]{height:38px;padding:3px}.prop-form button,.primary{border:0;border-radius:7px;padding:9px 12px;background:#e8edee;cursor:pointer}.primary{background:var(--brand)!important;color:#fff}.comment-item{border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:10px;cursor:pointer}.comment-item strong{font-size:13px}.comment-item p{font-size:12px;margin:7px 0}.comment-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}.shipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.shipment-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.status-pill{display:inline-block;border-radius:20px;padding:4px 9px;background:#e7f1ee;color:#0d5c4b;font-size:12px}.modal{position:fixed;inset:0;background:rgba(13,19,20,.56);display:grid;place-items:center;z-index:30}.modal-card{width:min(440px,calc(100% - 30px));background:#fff;border-radius:13px;padding:20px;box-shadow:0 18px 70px #0007}.modal-card h2{margin-top:0}.modal-card label{display:block;margin:11px 0;font-size:13px}.modal-card input,.modal-card textarea,.modal-card select{width:100%;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:7px}.modal-card textarea{min-height:100px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions button{border:0;border-radius:7px;padding:9px 14px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,30px);background:#182024;color:#fff;border-radius:8px;padding:9px 14px;opacity:0;transition:.2s;pointer-events:none;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1000px){.layout-screen.active{grid-template-columns:180px minmax(0,1fr)}.right-panel{position:absolute;right:0;top:62px;bottom:0;width:290px;z-index:10;box-shadow:-8px 0 30px #0002}.drawing-toolbar button span{display:none}.brand{min-width:auto}.brand small{display:none}}@media(max-width:700px){.topbar{height:54px;padding:0 9px}.brand strong{font-size:13px}.tabs button{padding:0 9px;font-size:12px}.sync{display:none}main{height:calc(100% - 54px)}.layout-screen.active{grid-template-columns:1fr}.left-panel{position:absolute;left:0;top:54px;bottom:0;width:210px;z-index:12;transform:translateX(-100%)}.right-panel{top:54px;transform:translateX(100%)}.viewer-help{display:none}.drawing-toolbar{height:50px}.cards{grid-template-columns:1fr 1fr}}

.modal-card:has(.share-dialog){width:min(680px,calc(100% - 30px))}.share-dialog{display:grid;gap:14px}.share-dialog h3{margin:2px 0 0;font-size:14px;color:#193b32}.share-people-list{display:grid;gap:8px;max-height:210px;overflow:auto}.share-person-row,.share-general-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px;border:1px solid #dbe5e1;border-radius:10px;background:#fff}.share-person-row small,.share-general-row small{display:block;color:#6c7d77;margin-top:2px}.share-avatar,.share-link-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f1ed;color:#214f41;font-weight:800}.share-person-level,.share-general-row select,.share-invite-row select{min-width:150px}.share-remove-person{border:0;background:transparent;color:#7a8984;font-size:22px;padding:2px 6px}.share-empty{padding:14px;border:1px dashed #cbd8d3;border-radius:10px;color:#6c7d77;text-align:center}.share-invite-row,.share-copy-row{display:grid;grid-template-columns:1fr auto;gap:8px}.share-copy-row input{min-width:0}.share-copy-row button{white-space:nowrap}.inherited-gsf-note{margin:10px 0;padding:9px 11px;border:1px solid #cbdad4;border-radius:7px;background:#eef6f3;color:#35564b;font-size:12px}
.page-actions{display:flex;gap:7px;padding:9px 10px;border-bottom:1px solid var(--line)}
.page-actions button{flex:1;border:1px solid var(--line);background:#f7f9f9;border-radius:7px;padding:7px 6px;font-size:12px;cursor:pointer}
.page-actions button:hover{background:#eaf2ef}
.page-list{padding:8px}
.page-folder{margin-bottom:9px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.folder-head{min-height:36px;padding:5px 6px;display:flex;align-items:center;gap:6px;background:#f3f6f5}
.folder-head strong{font-size:12px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.folder-head span{font-size:10px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:12px;padding:2px 6px}
.folder-toggle,.folder-edit,.page-edit{border:0;background:transparent;border-radius:5px;cursor:pointer;color:#5b676d}
.folder-toggle{width:25px;height:25px}.folder-edit{width:27px;height:27px;font-weight:800}.folder-toggle:hover,.folder-edit:hover,.page-edit:hover{background:#dde7e4}
.folder-pages.collapsed{display:none}.folder-empty{padding:13px;color:var(--muted);font-size:11px}
.page-folder .page-card{grid-template-columns:62px minmax(0,1fr) 25px;margin:0;border-radius:0;border-top:1px solid #edf0f1;padding:7px}
.page-folder .page-card:first-child{border-top:0}.page-folder .page-card img{width:62px;height:42px}
.page-card-copy{min-width:0}.page-card-copy strong,.page-card-copy small,.page-card-copy p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-card-copy small{display:block;font-size:10px}.page-card-copy p{margin:3px 0 0;color:#78838a;font-size:10px}.page-edit{align-self:start;width:24px;height:24px}
.viewer.middle-panning,.viewer.panning{cursor:grabbing!important}

.symbol-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.symbol-panel-head small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.symbol-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.symbol-card{position:relative;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 4px 6px;cursor:pointer;text-align:center;min-width:0}.symbol-card:hover{background:#f3f7f6}.symbol-card.active{border-color:var(--brand);box-shadow:0 0 0 2px #0d5c4b22;background:#eaf3f0}.symbol-card svg{width:42px;height:42px;display:block;margin:auto}.symbol-card strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.symbol-card .symbol-menu{position:absolute;right:2px;top:2px;width:22px;height:22px;border:0;border-radius:5px;background:#ffffffcc;display:none}.symbol-card:hover .symbol-menu{display:block}.placement-controls{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.placement-controls label{display:block;font-size:12px;color:var(--muted);margin:10px 0}.placement-controls input[type=range]{width:100%;display:block;margin-top:6px}.placement-controls output,.symbol-props output{float:right;color:var(--ink);font-weight:700}.precision-cursor{pointer-events:none}.symbol-props{padding:9px;border:1px solid var(--line);border-radius:9px;background:#f8faf9;margin-bottom:12px}.symbol-props button{width:100%;margin-top:3px}.right-tabs button{min-width:0}.marker-center{fill:#fff;stroke:#111;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.symbol-resize-handle{fill:#fff;stroke:#1687ff;stroke-width:3;vector-effect:non-scaling-stroke;cursor:nwse-resize}.symbol-outline{vector-effect:non-scaling-stroke}.library-note{font-size:11px;color:var(--muted);line-height:1.4;margin:10px 0}.viewer.symbol-mode{cursor:none}

.symbol-filters{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:10px}.symbol-filters input,.symbol-filters select{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px;background:#fff}.symbol-category-title{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin:8px 2px 1px}.symbol-library{max-height:calc(100vh - 410px);overflow:auto;padding-right:3px}.placement-session{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0;padding:8px;border:1px solid var(--line);border-radius:7px;background:#f7f9f9;font-size:11px}.placement-session button,.stop-placement{border:1px solid #d09932!important;background:#fff7e7!important;color:#7b5413!important}.stop-placement:not(.hidden){display:flex!important}.symbol-card small{display:block;font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.symbol-card svg{width:38px;height:38px}
.scale-card{margin:12px;padding:12px;border:1px solid #d8dee8;border-radius:10px;background:#f8fafc;display:grid;gap:8px}.scale-card button{padding:8px}.case-pin{cursor:pointer}.case-pin:hover{filter:brightness(1.08)}
.takeoff-props{margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.takeoff-summary{font-size:11px;color:var(--muted);display:grid;gap:7px;margin:7px 0 10px}.takeoff-summary div{padding:7px;background:#fff;border:1px solid var(--line);border-radius:6px}.takeoff-summary small{display:block;margin-top:3px}.takeoff-props button{width:100%}.page-intro{color:var(--muted)}
.modal-card{width:min(980px,calc(100% - 30px));max-height:90vh;overflow:auto}.modal-help{color:var(--muted);font-size:12px}.takeoff-object-stats{display:flex;gap:12px;flex-wrap:wrap;padding:9px;border:1px solid var(--line);border-radius:8px;background:#f7f9f9;margin-bottom:12px;font-size:12px}.takeoff-row{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0;background:#fff}.takeoff-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.takeoff-row-head button{border:1px solid var(--line);background:#f7f9f9;border-radius:6px;padding:5px 8px;margin-left:5px}.takeoff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.takeoff-grid label{margin:0}.takeoff-grid .wide{grid-column:1/-1}.takeoff-grid textarea{min-height:68px}.case-head-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.case-lines-head{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.case-lines-head button{border:1px solid var(--line);background:#f7f9f9;border-radius:6px;padding:6px 9px}.case-line-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 36px;gap:8px;align-items:start;margin:8px 0}.case-line-row textarea{min-height:66px;margin-top:0}.case-line-row select{margin-top:0}.remove-case-line{height:36px;border:1px solid #e2b5b1;background:#fff2f1;color:#a12e26;border-radius:6px;font-size:20px}.danger-btn{border:1px solid #e2b5b1;background:#fff2f1;color:#a12e26;border-radius:7px;padding:8px 10px;margin-top:12px}@media(max-width:760px){.takeoff-grid{grid-template-columns:1fr 1fr}.case-line-row{grid-template-columns:1fr 120px 36px}}@media(max-width:520px){.takeoff-grid{grid-template-columns:1fr}.case-head-grid{grid-template-columns:1fr}.case-line-row{grid-template-columns:1fr}.remove-case-line{width:100%}}
.transfer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.transfer-actions{display:flex;gap:10px;flex-wrap:wrap}.transfer-cards{margin:18px 0}.transfer-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f7}.transfer-draft{background:#eef2f7;color:#44515f}.transfer-ready-to-send{background:#fff4d8;color:#8a5a00}.transfer-sent{background:#e8f2ff;color:#1556a8}.transfer-accepted{background:#e7f7ee;color:#17653a}.transfer-needs-correction{background:#ffe8e8;color:#9b1c1c}.transfer-superseded{background:#f1eafd;color:#5e3a95}.transfer-status{min-width:145px}.table-wrap td small{display:block;color:#72808f;margin-top:4px}.payload-preview{margin-top:18px}.payload-preview pre{max-height:380px;overflow:auto;background:#101820;color:#d9e4ec;padding:16px;border-radius:8px;font-size:12px;white-space:pre-wrap}.modal-help{color:#596776}.takeoff-props .primary{width:100%}@media(max-width:900px){.transfer-head{display:block}.transfer-actions{margin-top:12px}}
.scale-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.auto-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#e8f3ef;color:#245b4c;padding:4px 7px;border-radius:999px}.detected-sheet{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid #d8e1de;background:#f7faf9;border-radius:7px;margin:8px 0}.detected-sheet span{font-size:11px;color:#64726e;text-transform:uppercase;letter-spacing:.04em}.detected-sheet strong{font-size:13px;color:#17221f}.detected-sheet small{color:#75817d;line-height:1.35}.scale-focus{animation:scaleFocus 1.15s ease}@keyframes scaleFocus{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px rgba(63,123,103,.25)}}

.page-scale-summary{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:11px;margin-bottom:14px;background:#f8faf9}.page-scale-summary div{display:flex;flex-direction:column;gap:3px}.page-scale-summary small{color:var(--muted);font-size:11px}.page-scale-summary button{border:0;border-radius:7px;padding:8px 10px;background:#e6efec;color:var(--brand);font-weight:700}.scale-dialog label{display:block;font-size:13px}.scale-dialog select{width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:white}.page-size-readout,.scale-current{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8faf9;display:flex;flex-direction:column;gap:5px}.page-size-readout span,.scale-current span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.page-size-readout small{font-size:11px;color:var(--muted);line-height:1.4}.source-badge{display:inline-flex;align-self:flex-start;font-style:normal;font-size:11px;font-weight:700;border-radius:999px;padding:4px 8px}.source-badge.detected{background:#dff3e9;color:#14633f}.source-badge.assumed{background:#fff0c9;color:#7c5900}.source-badge.custom{background:#e4ecff;color:#284f9e}.source-badge.missing{background:#f7dddd;color:#8b2f2f}.scale-dialog>button{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:10px;background:white;cursor:pointer}.scale-dialog .danger-outline{color:#a62e2e;border-color:#e3b9b9}.modal-card:has(.scale-dialog){width:min(500px,calc(100% - 30px))}

.spacing-input{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:8px;align-items:center}.spacing-input input,.spacing-input select{width:100%;min-width:0}.spacing-conversion{display:block;margin-top:5px;color:var(--muted);font-size:11px}.takeoff-grid label:has(.spacing-input){align-self:start}

/* v12 collapsible takeoff components */
.takeoff-row{padding:0;overflow:hidden}.takeoff-row-head{margin:0;padding:10px 12px;gap:10px;background:#fff}.takeoff-row.collapsed .takeoff-grid{display:none}.takeoff-row:not(.collapsed) .takeoff-row-head{border-bottom:1px solid var(--line);background:#f8faf9}.toggle-takeoff{display:flex;align-items:center;gap:10px;min-width:0;flex:1;border:0;background:transparent;text-align:left;padding:0;color:inherit}.takeoff-chevron{width:14px;flex:0 0 14px;color:var(--muted);font-size:11px}.takeoff-summary{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.takeoff-summary strong{font-size:13px}.takeoff-summary span{font-size:11px;color:var(--muted);padding-right:9px;border-right:1px solid var(--line)}.takeoff-summary span:last-child{border-right:0}.takeoff-actions{display:flex;white-space:nowrap}.takeoff-grid{padding:12px}.point-rule{color:var(--muted)}
@media(max-width:760px){.takeoff-row-head{align-items:flex-start}.takeoff-actions{flex-direction:column;gap:4px}.takeoff-row-head button{margin-left:0}.takeoff-summary{align-items:flex-start}}
.transfer-controls{display:grid;grid-template-columns:180px 220px 220px minmax(220px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:14px}.transfer-controls label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.transfer-controls select,.transfer-controls input,.transfer-controls button{width:100%;min-height:38px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px}.transfer-controls button{width:auto;white-space:nowrap;cursor:pointer}.takeoff-toggle{border:0;background:#edf3f1;color:var(--brand);border-radius:6px;width:28px;height:28px;cursor:pointer;margin-right:8px}.takeoff-parent.expanded{background:#f7faf9}.component-detail-row td{padding:0 12px 12px 48px;background:#fbfcfc}.component-grid{display:grid;grid-template-columns:minmax(190px,1.4fr) 120px 145px 120px 150px minmax(180px,1fr);gap:10px;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:8px;align-items:start}.component-grid strong{display:block}.component-grid small{display:block;color:var(--muted);margin-top:4px}.component-chip{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e8f1ee;color:#145a49;font-size:11px;font-weight:700}.building-edit{display:grid;grid-template-columns:1.3fr 1fr 110px 110px 120px 1fr 1.4fr 110px;gap:8px;align-items:center}.building-edit input,.building-edit select{width:100%;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}.building-row-dirty{background:#fff8df!important}.save-component-row{border:0;border-radius:6px;padding:7px 10px;background:var(--brand);color:#fff;cursor:pointer}.open-layout-link{border:0;background:none;color:var(--brand);font-weight:700;cursor:pointer;padding:0}.transfer-empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:1200px){.transfer-controls{grid-template-columns:repeat(3,1fr)}.component-grid{grid-template-columns:repeat(3,1fr)}.building-edit{grid-template-columns:repeat(4,1fr)}}


/* v14 selection summary + takeoff inspector */
.selection-card{position:absolute;z-index:30;width:340px;max-width:calc(100% - 28px);background:#fff;border:1px solid #d6dfdc;border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.18);padding:14px;pointer-events:auto;color:#17211f}
.selection-card.hidden{display:none}.selection-card h4{margin:0 0 4px;font-size:16px;line-height:1.25}.selection-card .sc-meta{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.selection-card .sc-chip{font-size:11px;background:#eef4f1;border-radius:999px;padding:4px 8px;color:#345248}.selection-card .sc-items{border-top:1px solid #e5ebe8;margin-top:9px;padding-top:9px;display:grid;gap:6px;font-size:12px;line-height:1.4}.selection-card .sc-item{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px}.selection-card .sc-item b{font-size:12px}.selection-card .sc-item small{grid-column:1/-1;color:#66756f}.selection-card .sc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.selection-card .sc-actions button{min-width:0;min-height:38px;padding:8px 9px;border:1px solid #c9d3cf;border-radius:8px;background:#f7f9f8;color:#27332f;font-size:12px;font-weight:700;line-height:1.2;white-space:normal;cursor:pointer}.selection-card .sc-actions button:hover{background:#edf3f0;border-color:#9fb2aa}.selection-card .sc-actions button.primary{border-color:#367760;background:#3f7d67;color:#fff}.selection-card .sc-actions button.primary:hover{background:#326b58}.selection-card .sc-actions button:focus-visible{outline:3px solid rgba(63,125,103,.24);outline-offset:1px}
.selection-card .sc-technical-identity{margin:7px 0 0;border:1px solid #dce5e1;border-radius:7px;background:#fafcfb;font-size:10px}.selection-card .sc-technical-identity summary{padding:7px 9px;color:#587068;font-weight:800;cursor:pointer}.selection-card .sc-technical-identity dl{display:grid;gap:5px;margin:0;padding:0 9px 9px}.selection-card .sc-technical-identity dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:7px}.selection-card .sc-technical-identity dt{color:#71817b}.selection-card .sc-technical-identity dd{margin:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#203b32}
@media(max-width:520px){.selection-card{width:min(310px,calc(100% - 20px));padding:12px}.selection-card .sc-actions{grid-template-columns:1fr}}
.takeoff-drawer{position:fixed;right:0;top:0;bottom:0;width:min(460px,94vw);background:white;z-index:1200;box-shadow:-18px 0 46px rgba(15,23,42,.24);display:flex;flex-direction:column;border-left:1px solid #d7dfdc}.takeoff-drawer.hidden{display:none}.drawer-head{padding:18px 18px 12px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e5ebe8}.drawer-head small{color:#64746e;font-weight:800;letter-spacing:.08em}.drawer-head h2{margin:3px 0 0}.drawer-head button{font-size:26px;border:0;background:transparent}.drawer-tabs{display:flex;border-bottom:1px solid #e5ebe8;padding:0 12px}.drawer-tabs button{border:0;background:transparent;border-bottom:3px solid transparent;padding:12px 10px}.drawer-tabs button.active{border-color:#2f6553;color:#244f41}.drawer-body{padding:16px;overflow:auto;flex:1}.drawer-actions{padding:14px 16px;border-top:1px solid #e5ebe8;display:flex;gap:8px}.drawer-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.drawer-stat{background:#f5f8f7;border:1px solid #e0e7e4;border-radius:9px;padding:10px}.drawer-stat small{display:block;color:#68756f}.drawer-component{border:1px solid #dfe6e3;border-radius:9px;padding:10px;margin-bottom:9px}.drawer-component header{display:flex;justify-content:space-between;gap:10px}.drawer-component p{margin:6px 0 0;color:#596963;font-size:12px}.page-default-note{background:#eef6f2;border:1px solid #cfe2d9;padding:10px;border-radius:8px;margin-bottom:12px;font-size:12px}.inherit-badge{display:inline-block;background:#e6f0ec;color:#285445;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}
.click-card{cursor:pointer;transition:.15s}.click-card:hover{box-shadow:0 0 0 2px #2f6655 inset;background:#f3faf7}
.component-grid{grid-template-columns:minmax(160px,1.4fr) minmax(135px,1fr) minmax(120px,1fr) minmax(105px,.8fr) minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,1.3fr) auto!important;align-items:center}
.component-location-action button,.open-layout-link{color:#205d4b;font-weight:700;background:#edf7f3;border:1px solid #b9d8cd;border-radius:7px;padding:7px 10px;cursor:pointer}
.building-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(480px,1.2fr);gap:16px;margin:16px 0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.panel-head h2{margin:0}.panel-head p{margin:4px 0 0;color:#65717d}.building-type-list,.building-list{display:grid;gap:9px}.building-type-card,.building-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;border:1px solid #dce3e7;border-radius:9px;padding:12px;background:#fff}.building-type-card small,.building-card small{display:block;color:#71808d;margin-top:3px}.building-summary-cards article b{font-size:24px}.building-rollup-panel{margin-top:16px}.rollup-controls{display:flex;gap:8px;flex-wrap:wrap}.rollup-controls select,.rollup-controls input{min-width:150px}.danger{color:#a61b1b;border-color:#e6bcbc;background:#fff4f4}.takeoff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.building-layout{grid-template-columns:1fr}.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.takeoff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.transfer-cards article small{display:block;margin-top:5px;color:#74808b;font-size:12px}.bom-status-group td{padding:0!important;border:0!important}.bom-status-group td>div{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin-top:10px;border-radius:9px;background:#eef2f4;border-left:5px solid #78838c}.bom-status-group td>div>span{display:flex;align-items:center;gap:9px}.bom-status-approved td>div{background:#e8f3ee;border-left-color:#2f6655}.bom-status-sent td>div{background:#eaf0f7;border-left-color:#42688d}.bom-status-needs-correction td>div{background:#fff0ed;border-left-color:#bd5141}.bom-summary-row td{vertical-align:middle}.bom-group-toggle{width:28px;height:28px;border:0;border-radius:6px;background:#edf3f0;margin-right:8px;cursor:pointer}.qty-cell strong{font-size:17px;color:#234f43}.bom-location-detail td{background:#f8faf9;padding:8px 16px 16px!important}.bom-location-list{display:grid;gap:7px}.bom-location-card{display:grid;grid-template-columns:minmax(250px,1fr) 220px auto;align-items:center;gap:16px;padding:10px 12px;border:1px solid #dce3e0;border-radius:8px;background:#fff}.bom-location-card small{display:block;color:#718079;margin-top:3px}.bom-location-card button{white-space:nowrap}@media(max-width:900px){.bom-location-card{grid-template-columns:1fr}.bom-location-card button{justify-self:start}}

.back-review{position:fixed;left:190px;top:54px;z-index:950;border:1px solid #b8cfc7;background:#fff;color:#205d4b;border-radius:8px;padding:8px 12px;font-weight:800;box-shadow:0 5px 18px rgba(15,23,42,.16);cursor:pointer}.back-review.hidden{display:none}.nav-flash{animation:navFlash .42s ease-in-out 5;filter:drop-shadow(0 0 8px #ff9d00)}@keyframes navFlash{0%,100%{opacity:1}50%{opacity:.22}}.explorer-item{background:#f8faf9}.explorer-detail.hidden{display:none}.explorer-detail td{padding:10px 26px 18px!important}.explorer-tree{display:grid;gap:12px}.explorer-tree section{border:1px solid #dce5e1;border-radius:9px;background:#fff;padding:10px}.explorer-tree h4{display:flex;justify-content:space-between;margin:0 0 7px}.explorer-page{display:flex;justify-content:space-between;background:#f3f7f5;border-radius:7px;padding:8px 10px;margin-top:7px}.explorer-page small{display:block;color:#718079}.explorer-locations{display:grid;gap:5px;padding:6px 4px}.explorer-locations>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1ef;padding:6px 2px}.explorer-toggle{border:1px solid #b9d8cd;background:#edf7f3;color:#205d4b;border-radius:7px;padding:7px 10px;cursor:pointer}
.project-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:10px;border-bottom:1px solid var(--line)}
.project-actions input{min-width:0}.quick-add-menu{position:absolute;z-index:50;left:12px;top:104px;width:210px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #0003;padding:6px;display:grid}.quick-add-menu button{text-align:left;padding:10px;border:0;background:transparent;border-radius:7px}.quick-add-menu button:hover{background:var(--hover)}
.left-panel{position:relative}.explorer-tabs{display:flex;border-bottom:1px solid var(--line)}.explorer-tabs button{flex:1;border:0;border-radius:0;background:transparent;padding:9px}.explorer-tabs button.active{background:var(--hover);font-weight:700}.explorer-panel{display:none}.explorer-panel.active{display:block}.object-explorer{overflow:auto;padding:8px}.object-group{border:1px solid var(--line);border-radius:8px;margin-bottom:8px;overflow:hidden}.object-group>header{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--subtle)}.object-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-top:1px solid var(--line);cursor:pointer}.object-row:hover{background:var(--hover)}.object-row small{margin-left:auto;color:var(--muted)}
.object-explorer-intro{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px;padding:4px 4px 8px;border-bottom:1px solid var(--line)}.object-explorer-intro>strong{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.object-scope-control{display:block;min-width:0;flex:0 1 112px}.object-scope-control select{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:5px 24px 5px 8px;color:var(--ink);font-size:11px}.object-group>header>div{display:flex;align-items:center;gap:7px}.object-group>header span{min-width:22px;padding:2px 6px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;text-align:center}.object-row{min-width:0}.object-row-copy{display:grid;min-width:0;flex:1}.object-row-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-row-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;font-style:normal}.object-row.is-hidden{opacity:.52;background:#f7f8f8}.object-kind-icon{width:9px;height:9px;flex:0 0 auto;border:1.5px solid #2f6f5c;border-radius:2px;transform:rotate(45deg)}.visibility-switch{display:inline-flex;align-items:center;flex:0 0 auto;cursor:pointer}.visibility-switch input{position:absolute;opacity:0;pointer-events:none}.visibility-switch>span{position:relative;width:34px;height:20px;border-radius:999px;background:#aab6b1;box-shadow:inset 0 0 0 1px #8c9b95;transition:.18s}.visibility-switch>span:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0004;transition:.18s}.visibility-switch input:checked+span{background:#327861;box-shadow:inset 0 0 0 1px #286551}.visibility-switch input:checked+span:after{transform:translateX(14px)}.visibility-switch input:focus-visible+span{outline:2px solid #1f6feb;outline-offset:2px}.visibility-switch.compact>span{width:30px;height:18px}.visibility-switch.compact>span:after{width:12px;height:12px}.visibility-switch.compact input:checked+span:after{transform:translateX(12px)}

/* Resizable Project Explorer */
@media(min-width:701px){.layout-screen.active{grid-template-columns:var(--left-panel-width,230px) minmax(0,1fr) 300px}.layout-screen.left-collapsed{grid-template-columns:0 minmax(0,1fr) 300px}.layout-screen.right-collapsed{grid-template-columns:var(--left-panel-width,230px) minmax(0,1fr) 0}.layout-screen.left-collapsed.right-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.left-resize-handle{display:block;position:absolute;z-index:20;top:0;bottom:0;left:calc(var(--left-panel-width,230px) - 4px);width:9px;cursor:col-resize;touch-action:none}.left-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:#cbd6d2;transition:width .14s,left .14s,background .14s}.left-resize-handle:hover:before,.left-resize-handle.is-resizing:before{left:2px;width:4px;background:#4f8e79}.layout-screen.left-collapsed .left-resize-handle{display:none}}@media(max-width:700px){.left-resize-handle{display:none}}
body.sidebar-resizing,body.sidebar-resizing *{cursor:col-resize!important;user-select:none!important}
.page-type-badge{display:inline-block;font-size:10px;padding:2px 6px;border-radius:99px;background:#e8eefc;color:#23448c;margin-top:3px}.upload-progress{padding:10px;background:var(--subtle);border-radius:8px;margin-top:8px}

/* Helix Plans estimating workspace */
:root{--brand:#08745b;--brand-dark:#074c3f;--gold:#c9a35c;--gold-soft:#f4ead4;--ink:#16211e;--bg:#eef2f0;--line:#d6dfdb}
.topbar{background:linear-gradient(90deg,#091411,#10231d 72%,#17251f)}
.brandmark{background:linear-gradient(135deg,#dfc176,#a98239);border-radius:7px;box-shadow:inset 0 0 0 1px #efd99755}
.tabs button.active{border-bottom-color:var(--gold)}
.estimating-screen.active{display:block;background:#e9eeeb}
.estimate-shell{height:100%;display:grid;grid-template-rows:auto 58px 42px minmax(0,1fr) 28px;padding:14px 16px 10px;gap:8px}
.estimate-head{display:flex;align-items:center;gap:16px}.estimate-head h1{margin:0;font-size:22px}.estimate-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.estimate-head-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.gold-action{background:#715a29!important;color:#fff!important;border:1px solid #b99750!important}
.estimate-summary{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:6px}.estimate-metric{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 9px;min-width:0}.estimate-metric small{display:block;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:9px;white-space:nowrap}.estimate-metric b{display:block;font-size:16px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-metric.warning b{color:#a86b18}.estimate-metric.gold{border-color:#d5bd83;background:#fffdf8}
.estimate-toolbar{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px 7px}.estimate-toolbar input,.estimate-toolbar select,.estimate-toolbar button{height:29px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:3px 7px;font-size:11px}.estimate-toolbar input[type=search]{width:250px}.estimate-toolbar button{cursor:pointer}.compact-check{font-size:11px;color:#53615c;display:flex;align-items:center;gap:4px;white-space:nowrap}.toolbar-spacer{flex:1}
.estimate-grid-wrap{overflow:auto;background:#fff;border:1px solid #bcc9c4;border-radius:5px}.estimate-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:10.5px;font-variant-numeric:tabular-nums}.estimate-grid thead th{position:sticky;top:0;z-index:4;height:25px;padding:3px 5px;background:#173029;color:#eaf2ef;border-right:1px solid #345048;border-bottom:1px solid #0a201a;white-space:nowrap;text-align:left;font-weight:600}.estimate-grid tbody td{height:23px;max-height:23px;padding:1px 4px;border-right:1px solid #dfe6e3;border-bottom:1px solid #e2e8e5;white-space:nowrap;background:#fff}.estimate-grid tbody tr:nth-child(even) td{background:#f7f9f8}.estimate-grid tbody tr:hover td{background:#edf6f2}.estimate-grid tbody tr.group-row td{background:#dde9e5!important;font-weight:700;border-bottom-color:#aebfba}.estimate-grid tbody tr.frozen-row td{background:#f0f2f1;color:#59645f}.estimate-grid .num{text-align:right}.estimate-grid input,.estimate-grid select{height:19px;min-height:19px;padding:0 3px;border:1px solid #cbd6d1;border-radius:2px;background:#fff;font-size:10.5px}.estimate-grid input[type=number]{width:63px;text-align:right}.estimate-grid input.estimate-note{width:150px}.estimate-grid select.estimate-option{width:105px}.estimate-grid select.estimate-package{width:110px}.estimate-grid input:disabled,.estimate-grid select:disabled{border-color:transparent;background:transparent;color:inherit;opacity:1}.sticky-col-1{position:sticky!important;left:0!important;z-index:5!important;min-width:34px}.sticky-col-2{position:sticky!important;left:34px!important;z-index:5!important;min-width:88px}.estimate-grid tbody .sticky-col-1,.estimate-grid tbody .sticky-col-2{background:inherit}.estimate-grid thead .sticky-col-1,.estimate-grid thead .sticky-col-2{z-index:7!important;background:#102820}.estimate-status{display:inline-block;padding:1px 5px;border-radius:8px;border:1px solid #b8c6c1;font-size:9px}.estimate-status.main{background:#e5f2ed;color:#075c49;border-color:#8fc0b1}.estimate-status.option{background:#fbf1db;color:#73581f;border-color:#d8bd7b}.estimate-status.frozen{background:#e8ebea;color:#53605b}.estimate-footer{display:flex;align-items:center;gap:18px;color:#66736e;font-size:10px;padding:0 4px}.estimate-footer span:last-child{margin-left:auto}.cost-override-cell input{color:#9b6411;font-weight:700}.missing-cost{background:#fff2f0!important;color:#a43c31!important}.freeze-modal-note{padding:9px;background:#f4ead4;border:1px solid #d7bd7c;border-radius:6px;color:#5e4a1c;font-size:12px}.option-chip{display:inline-block;border:1px solid #d2b56c;background:#fff6df;color:#674f1c;border-radius:9px;padding:1px 5px}.main-chip{display:inline-block;border:1px solid #82b6a6;background:#e8f5f0;color:#075e49;border-radius:9px;padding:1px 5px}
@media(max-width:1200px){.estimate-summary{grid-template-columns:repeat(4,1fr)}.estimate-shell{grid-template-rows:auto auto 42px minmax(0,1fr) 28px}.estimate-head-actions .status-pill{display:none}}

/* v24 unified flow and stable site-plan shell */
.zoom-speed-control{height:38px;display:flex;align-items:center;gap:5px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:#f7f9f8;color:#53615c;font-size:11px;white-space:nowrap}.zoom-speed-control select{border:0;background:transparent;color:#24352f;font-weight:700;outline:0}
.site-plan-screen{height:100%;overflow:hidden;background:#eef2f0}.site-plan-screen.active{display:grid;grid-template-rows:48px minmax(0,1fr)}.site-plan-screen iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.unified-flow-screen{height:100%;overflow:hidden}.flow-shell{height:100%;display:grid;grid-template-rows:58px minmax(0,1fr);background:#f4f7f5}.flow-head{display:flex;align-items:center;gap:18px;padding:9px 16px;background:#fff;border-bottom:1px solid var(--line)}.flow-head h1{margin:0;font-size:21px}.flow-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.flow-mode-tabs{margin-left:auto;display:flex;gap:3px;background:#edf2f0;border:1px solid #d5ded9;padding:3px;border-radius:8px}.flow-mode-tabs button{border:0;background:transparent;padding:7px 12px;border-radius:6px;font-weight:700;color:#5d6b65}.flow-mode-tabs button.active{background:#173f34;color:#fff;box-shadow:0 1px 3px #0002}.flow-panel{display:none;min-height:0;height:100%;overflow:hidden}.flow-panel.active{display:block}.flow-review-pad{height:100%;overflow:auto;padding-top:14px}
#flowEstimatePanel .estimate-shell{padding-top:8px;grid-template-rows:auto 58px 42px minmax(0,1fr) 28px}#flowEstimatePanel .estimate-head{padding:0 2px}#flowEstimatePanel .estimate-head>div:first-child h1,#flowEstimatePanel .estimate-head>div:first-child p{display:none}
#flowEstimatePanel .estimate-summary{gap:7px}.estimate-grid-wrap{box-shadow:0 1px 3px rgba(19,50,41,.08)}.estimate-grid thead th{background:#24483e;color:#f3f8f6}.estimate-grid tbody td{height:24px;max-height:24px}.estimate-grid tbody tr:hover td{background:#eaf4f0}.estimate-toolbar{box-shadow:0 1px 2px rgba(15,35,29,.05)}
.tabs{min-height:44px}.tabs button{height:44px;box-sizing:border-box;white-space:nowrap}.tabs button.active{font-weight:700}
.catalog-link{align-self:center;color:#d5dfdb;text-decoration:none;padding:8px 10px;border:1px solid #3b5048;border-radius:6px;font-size:12px;white-space:nowrap}.catalog-link:hover{background:#20362e;color:#fff}.project-directory-page{max-width:1240px;margin:auto}.project-directory-head,.project-search-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-directory-head p{color:var(--muted);margin-top:4px}.project-source{font-size:12px;color:#456158;display:flex;align-items:center;gap:7px}.project-search-bar{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 12px;margin:18px 0}.project-search-bar input{flex:1;border:0;outline:0;font-size:14px}.project-search-bar span{color:var(--muted);font-size:12px}.project-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.project-record{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}.project-record.active{border-color:#4a9b84;box-shadow:0 0 0 2px #dcefe9}.project-record header{display:flex;justify-content:space-between}.project-record h2{font-size:17px;margin:3px 0 12px}.project-record header small{color:var(--muted)}.project-record dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.project-record dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.project-record dd{margin:3px 0 0;font-size:12px;font-weight:600}.active-project-pill{height:23px;background:#dcefe9;color:#0d5c4b;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.integration-note{color:var(--muted);font-size:12px}.flow-review-pad{padding:8px 10px!important;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:6px;overflow:hidden!important}.flow-review-pad .transfer-head{align-items:center;gap:12px}.flow-review-pad .transfer-head h1{font-size:18px;margin:0}.flow-review-pad .page-intro{font-size:11px;margin:2px 0;color:var(--muted)}.flow-review-pad .transfer-actions{gap:5px}.flow-review-pad .transfer-actions button{height:28px;padding:4px 8px;font-size:10px}.flow-review-pad .transfer-cards{margin:0;gap:6px}.flow-review-pad .transfer-cards article{padding:5px 8px;border-radius:6px}.flow-review-pad .transfer-cards b{font-size:16px}.flow-review-pad .transfer-cards span{font-size:10px}.flow-review-pad .transfer-cards small{font-size:9px}.flow-review-pad .transfer-controls{margin:0;padding:5px 7px;gap:6px}.flow-review-pad .transfer-controls label{font-size:9px}.flow-review-pad .transfer-controls input,.flow-review-pad .transfer-controls select,.flow-review-pad .transfer-controls button{height:28px;font-size:10px}.flow-review-pad .transfer-table-panel{padding:0;margin:0;overflow:auto;border-radius:6px}.flow-review-pad table{font-size:10px}.flow-review-pad th,.flow-review-pad td{padding:4px 6px}.flow-review-pad th{position:sticky;top:0;background:#fff;z-index:2}.flow-review-pad .payload-preview{margin:0;padding:6px 8px;font-size:10px}.flow-review-pad .payload-preview pre{max-height:120px}
.tabs .tab-link{background:none;border:0;color:#aebbb7;padding:0 18px;border-bottom:3px solid transparent;cursor:pointer;height:100%}.tabs .tab-link:hover{color:#fff}.account-button{display:flex;align-items:center;gap:7px;background:#20332c;border:1px solid #3d5149;color:#dce6e2;border-radius:999px;padding:4px 5px 4px 10px;cursor:pointer;font-size:10px}.account-button b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#18211e;font-size:9px}.client-access [data-internal-only]{display:none!important}.login-gate{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 25% 20%,#214a3d,#0a1713 58%);display:grid;place-items:center;padding:20px}.login-gate.hidden{display:none}.login-card{width:min(430px,100%);background:#fff;border:1px solid #dce4e0;border-radius:16px;padding:30px;box-shadow:0 28px 90px #0008}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-brand div{display:flex;flex-direction:column}.login-brand small{color:var(--muted);font-size:11px}.login-card h1{font-size:24px;margin:0 0 8px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 22px}.login-card button{width:100%;height:44px;border-radius:8px;font-weight:750;cursor:pointer}.login-primary{background:#0d5c4b;color:#fff;border:0}.login-secondary{background:#fff;color:#24332e;border:1px solid #bdc9c4}.login-divider{display:flex;align-items:center;gap:10px;color:#82908a;font-size:10px;margin:15px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#dfe5e2;flex:1}.login-disclaimer{display:block;color:#7d8984;line-height:1.45;margin-top:17px}
.estimate-locate-cell{display:flex;align-items:center;gap:3px;min-width:0}.estimate-locate-cell .estimate-locate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-map-pin{width:22px;height:22px;flex:0 0 22px;border:1px solid #a8bcb4;border-radius:5px;background:#edf6f2;color:#0d5c4b;cursor:pointer;font-weight:900}.estimate-map-pin:hover{background:#0d5c4b;color:#fff}.estimate-page-locate{border:0;background:transparent;color:#226a56;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0}.estimate-item-input{width:82px!important;min-width:70px;font-weight:800;color:#183d32;background:#fffef4!important;border-color:#c8b778!important}.estimate-item-input:focus{outline:2px solid #c89b4b;outline-offset:0}.estimate-description{min-width:115px}
.layout-screen.active .left-panel{display:grid;grid-template-rows:auto auto auto auto minmax(140px,1fr) auto;overflow:hidden}.left-panel .explorer-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.left-panel .page-list,.left-panel .object-explorer{height:100%}.left-panel .layer-block{background:#fff;position:relative;z-index:2}.left-panel .folder-head{position:sticky;top:0;z-index:2}.left-panel .explorer-panel::-webkit-scrollbar{width:9px}.left-panel .explorer-panel::-webkit-scrollbar-thumb{background:#bdc9c4;border:2px solid #fff;border-radius:999px}.left-panel .explorer-panel::-webkit-scrollbar-track{background:#f4f7f5}
.estimate-item-input{padding-right:22px!important;background-image:linear-gradient(45deg,transparent 45%,#46675c 45%,#46675c 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#46675c 45%,#46675c 55%,transparent 55%)!important;background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%!important;background-size:6px 6px!important;background-repeat:no-repeat!important;cursor:text}.estimate-catalog-lookup{position:fixed;z-index:120;width:320px;max-height:290px;overflow:auto;background:#fff;border:1px solid #9eb5ac;border-radius:8px;box-shadow:0 14px 40px #0004;padding:5px}.estimate-catalog-lookup header{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;border-bottom:1px solid #e4ebe8}.estimate-catalog-lookup header b{font-size:11px}.estimate-catalog-lookup header small{font-size:9px;color:var(--muted)}.estimate-catalog-option{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;width:100%;border:0;border-bottom:1px solid #edf1ef;background:#fff;text-align:left;padding:8px;cursor:pointer}.estimate-catalog-option:hover,.estimate-catalog-option:focus{background:#e8f3ef;outline:0}.estimate-catalog-option b{color:#0d5c4b;font-size:11px}.estimate-catalog-option span{font-size:10px;color:#394b45}.estimate-catalog-lookup footer,.estimate-catalog-empty{padding:7px 8px;color:var(--muted);font-size:9px}
.estimate-note[readonly]{cursor:pointer;background:#fff!important;text-overflow:ellipsis}.estimate-note[readonly]:hover{border-color:#6d9f8f!important;background:#f2f8f5!important}.estimate-notes-editor{min-height:190px!important;resize:vertical;line-height:1.5}.notes-editor-help{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:6px}
.share-plan-button{border:1px solid #6d887e;background:#edf6f2;color:#173d32;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}.share-plan-button:hover{background:#fff}.client-access .project-actions,.client-access .page-actions,.client-access #quickAddMenu,.client-access #addFolderBtn,.client-access #editPageBtn,.client-access [data-tool="line"],.client-access [data-tool="arrow"],.client-access [data-tool="polyline"],.client-access [data-tool="rect"],.client-access [data-tool="text"],.client-access [data-tool="hardware"],.client-access [data-tool="measure"],.client-access #scaleButton,.client-access #undoBtn,.client-access #redoBtn,.client-access #deleteBtn,.client-access #newSymbolBtn,.client-access #editTakeoffBtn,.client-access #duplicateBtn,.client-access #drawerEditTakeoff,.client-access #drawerDuplicate,.client-access #propsPanel,.client-access .right-tabs [data-side="props"],.client-access .selection-card .sc-actions{display:none!important}.client-access .viewer{cursor:default}.client-access .page-card .page-edit,.client-access .folder-add,.client-access .folder-edit{display:none!important}.client-access .panel-title h2:after{content:" · Client view";color:#60746c;font-weight:500;font-size:10px}
.project-directory-actions{display:flex;align-items:center;gap:12px}.project-search-bar select{border:1px solid var(--line);border-radius:6px;padding:7px;background:#fff}.project-record.inactive{opacity:.72}.inactive-project-pill{height:23px;background:#eee;color:#5e6462;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.project-record-actions{display:flex;gap:7px}.project-record-actions .open-project{flex:1}.project-record-actions button{white-space:nowrap}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.project-form input,.project-form select{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px}@media(max-width:760px){.project-directory-head,.project-directory-actions{align-items:flex-start;flex-direction:column}.project-search-bar{flex-wrap:wrap}.project-search-bar input{flex-basis:100%}.project-form{grid-template-columns:1fr}}
.nested-folder{margin:5px 5px 5px 13px;border-left:3px solid #c9d8d2}.nested-folder .folder-head{background:#f8faf9}.folder-head .folder-up,.folder-head .folder-down,.folder-head .folder-nest{padding:2px 4px;min-width:22px}.folder-delete-option{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px;color:#9f2424}.folder-delete-option input{width:auto!important}
.folder-head .folder-up,.folder-head .folder-down{display:none}.folder-head[draggable="true"],.page-card[draggable="true"]{cursor:grab}.folder-head[draggable="true"]:active,.page-card[draggable="true"]:active{cursor:grabbing}.folder-head strong:before,.page-card-copy strong:before{content:"⋮⋮";display:inline-block;margin-right:6px;color:#82948d;font-size:12px;letter-spacing:-3px}.dragging{opacity:.45}.drag-over{outline:2px solid #2f8069!important;outline-offset:-2px;background:#e9f5f1!important}.folder-head.drag-over{box-shadow:inset 0 0 0 2px #2f8069}.page-card.drag-over{transform:translateX(3px)}
.project-directory-page{max-width:1540px}.project-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 28px rgba(22,52,43,.06)}.project-table{width:100%;border-collapse:collapse;min-width:1050px}.project-table th{padding:10px 14px;background:#f4f7f6;color:#60716b;font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--line)}.project-table td{padding:11px 14px;border-bottom:1px solid #edf1ef;font-size:12px;vertical-align:middle}.project-table tr:last-child td{border-bottom:0}.project-table tbody tr:hover{background:#f7fbf9}.project-table .project-record.active{box-shadow:inset 4px 0 #39836d;background:#f4faf7}.project-table .project-record.inactive{opacity:.66}.project-table td:first-child small,.project-table td:first-child strong{display:block}.project-table td:first-child small{color:var(--muted);font-size:10px;margin-bottom:3px}.project-table td:first-child strong{font-size:13px}.project-status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4f2;color:#456158;font-size:10px;font-weight:800}.project-table .project-record-actions{justify-content:flex-end}.project-table .project-record-actions .open-project{flex:0 0 auto;min-width:70px}.icon-action{display:grid;place-items:center;width:30px;height:30px;padding:0!important;border:1px solid #c9d5d1;border-radius:7px;background:#fff;color:#365d51;cursor:pointer}.icon-action:hover{background:#e9f4f0;border-color:#7fa99b}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.estimate-catalog-field .estimate-item-input{cursor:text!important}.estimate-catalog-browse{height:24px!important;width:26px!important;border-radius:5px!important;font-size:15px;display:grid;place-items:center}.estimate-catalog-browse:hover{background:#dceee8}
.folder-head .folder-add,.folder-head .folder-nest{display:none!important}.client-access #quickAddBtn{display:none!important}
.project-directory-page #projectDirectory{display:block;width:100%;max-width:none}.project-directory-page .project-table-wrap{display:block;width:100%;max-width:none;overflow-x:auto}.project-directory-page .project-table{width:100%;min-width:1080px;table-layout:auto}.project-directory-page .project-table th,.project-directory-page .project-table td{white-space:nowrap}.project-directory-page .project-table th:first-child,.project-directory-page .project-table td:first-child{min-width:190px}.project-directory-page .project-table th:nth-child(2),.project-directory-page .project-table td:nth-child(2),.project-directory-page .project-table th:nth-child(3),.project-directory-page .project-table td:nth-child(3){min-width:175px}.project-directory-page .project-table th:last-child,.project-directory-page .project-table td:last-child{min-width:170px}.project-directory-page .project-record{padding:0;border-radius:0}.project-directory-page .project-record-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.delete-project{color:#a61b1b!important;border-color:#e2aaa6!important;background:#fff7f6!important;font-size:20px}.delete-project:hover{background:#ffe7e4!important;border-color:#c96861!important}.delete-project-warning{border:1px solid #e2aaa6;background:#fff8f7;border-radius:10px;padding:16px}.delete-project-warning>strong{color:#a61b1b;font-size:16px}.delete-project-warning p{line-height:1.5;color:#55413f}.danger-confirm{background:#b9342b!important;color:#fff!important}.danger-confirm:disabled{opacity:.65;cursor:wait}
.project-deletion-progress{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.deletion-progress-head{display:flex;justify-content:space-between;align-items:center}.deletion-progress-track{height:7px;background:#e8eceb;border-radius:999px;overflow:hidden;margin:10px 0 14px}.deletion-progress-track span{display:block;width:0;height:100%;background:#39765e;transition:width .25s ease}.deletion-progress-steps{display:grid;gap:8px}.deletion-progress-step{display:flex;gap:10px;align-items:center;padding:9px;border-radius:8px;color:#64716d}.deletion-step-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef1f0;font-size:12px;font-weight:800;flex:0 0 auto}.deletion-progress-step b,.deletion-progress-step small{display:block}.deletion-progress-step small{font-size:11px;margin-top:2px}.deletion-progress-step.active{background:#fff8e7;color:#72570c}.deletion-progress-step.active .deletion-step-icon{background:#d5b85f;color:#fff}.deletion-progress-step.complete{background:#edf7f2;color:#285d49}.deletion-progress-step.complete .deletion-step-icon{background:#39765e;color:#fff}.deletion-progress-step.error{background:#fff0ee;color:#9b2821}.deletion-progress-step.error .deletion-step-icon{background:#b9342b;color:#fff}.deletion-inventory{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.deletion-inventory b{width:100%}.deletion-inventory span{background:#f2f5f4;border-radius:999px;padding:4px 8px}
#draftLayer,#draftLayer *{pointer-events:none!important}
.modal-card:has(.pdf-import-workspace){width:min(1120px,calc(100% - 30px));max-height:94vh;display:flex;flex-direction:column}.modal-card:has(.pdf-import-workspace) #modalBody{min-height:0;overflow:hidden}.pdf-import-workspace{display:flex;flex-direction:column;min-height:300px;max-height:72vh}.pdf-import-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 2px;border-bottom:1px solid var(--line)}.pdf-import-toolbar strong,.pdf-import-toolbar small{display:block}.pdf-import-toolbar small{color:var(--muted);margin-top:3px}.pdf-import-toolbar>div:last-child{display:flex;gap:6px}.pdf-import-toolbar button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px;cursor:pointer}.pdf-import-list{overflow:auto;display:grid;gap:8px;padding:10px 3px}.pdf-import-row{display:grid;grid-template-columns:80px 150px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px;background:#f8faf9;opacity:.65}.pdf-import-row.selected{background:#fff;opacity:1;border-color:#93b8ac}.pdf-import-row>img{width:150px;height:96px;object-fit:contain;background:#e8ecea;border:1px solid #cad3cf}.pdf-import-check{display:grid!important;justify-items:center;gap:7px;margin:0!important;font-weight:800}.pdf-import-check input{width:18px!important;height:18px;margin:0!important}.pdf-import-fields{display:grid;gap:6px}.pdf-import-fields>small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-import-fields label{margin:0!important;font-size:11px!important;font-weight:700}.pdf-import-fields input,.pdf-import-fields select{margin-top:3px!important;padding:7px!important}.pdf-import-fields>div{display:grid;grid-template-columns:180px minmax(180px,1fr);gap:8px}.pdf-import-progress{padding:9px;text-align:center;color:#315f50;background:#e8f3ef;border-radius:7px;font-weight:700}@media(max-width:760px){.pdf-import-row{grid-template-columns:54px 90px minmax(0,1fr)}.pdf-import-row>img{width:90px;height:70px}.pdf-import-fields>div{grid-template-columns:1fr}}
.plan-progress{display:grid;gap:6px;padding:10px;background:#edf5f2;border-radius:9px}.plan-progress-track{height:10px;background:#d5e2de;border-radius:99px;overflow:hidden}.plan-progress-fill{height:100%;background:#357c66;transition:width .2s ease}.bulk-page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.bulk-page-table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:9px}.bulk-page-table{width:100%;border-collapse:collapse;min-width:1100px}.bulk-page-table th{position:sticky;top:0;background:#294d41;color:#fff;z-index:1}.bulk-page-table th,.bulk-page-table td{padding:6px;border-bottom:1px solid var(--line);text-align:left}.bulk-page-table img{width:70px;height:48px;object-fit:contain;background:#eee}.bulk-page-table input{min-width:110px;padding:6px}.bulk-page-table .page-title{min-width:220px}.ai-confidence{font-size:11px;color:var(--muted);white-space:nowrap}
.pdf-import-fields>.pdf-import-file-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.pdf-import-file-status small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.pdf-import-file-status span{flex:0 0 auto;border-radius:999px;padding:4px 8px;background:#edf1ef;color:#52615c;font-size:10px;font-weight:800}.pdf-import-row.import-uploading .pdf-import-file-status span,.pdf-import-row.import-processing .pdf-import-file-status span,.pdf-import-row.import-linking .pdf-import-file-status span{background:#fff3d6;color:#765609}.pdf-import-row.import-verified .pdf-import-file-status span{background:#e5f1ff;color:#245f95}.pdf-import-row.import-complete{border-color:#5c9a80;background:#f3fbf7}.pdf-import-row.import-complete .pdf-import-file-status span{background:#dff2e9;color:#176044}.pdf-import-row.import-wasabi-only .pdf-import-file-status span{background:#edf1f8;color:#52627b}.pdf-import-row.import-error{border-color:#d98980;background:#fff8f7}.pdf-import-row.import-error .pdf-import-file-status span{background:#fde6e3;color:#9c332b}
.layout-screen{position:relative;transition:grid-template-columns .22s ease}.layout-screen.left-collapsed{grid-template-columns:0 minmax(0,1fr) 300px}.layout-screen.right-collapsed{grid-template-columns:230px minmax(0,1fr) 0}.layout-screen.left-collapsed.right-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.left-panel,.right-panel{min-width:0;transition:opacity .16s ease,visibility .16s ease}.layout-screen.left-collapsed .left-panel,.layout-screen.right-collapsed .right-panel{opacity:0;visibility:hidden;pointer-events:none}.panel-reopen{display:none;position:absolute;z-index:9;top:62px;width:30px;height:54px;border:1px solid #cfd9d5;background:#fff;color:#25594a;box-shadow:0 6px 20px #14231d24;cursor:pointer;font-size:22px}.panel-reopen-left{left:0;border-radius:0 10px 10px 0}.panel-reopen-right{right:0;border-radius:10px 0 0 10px}.layout-screen.left-collapsed .panel-reopen-left,.layout-screen.right-collapsed .panel-reopen-right{display:block}.panel-collapse{flex:0 0 30px!important;width:30px!important;min-width:30px!important;border:1px solid #d6dfdc!important;border-radius:8px!important;background:#f4f7f6!important;color:#315e51!important;font-size:20px!important;cursor:pointer}.panel-title{padding:0 14px;background:linear-gradient(#fff,#fafcfb)}.panel-title h2{font-size:14px;letter-spacing:.01em}.project-actions{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:12px;border-bottom:1px solid #e5ebe8}.project-actions .primary{height:38px;padding:0 14px;border-radius:9px;box-shadow:0 2px 6px #14382d1c;font-weight:700}.project-actions input,.symbol-filters input,.symbol-filters select{height:38px;border:1px solid #cfd9d5;border-radius:9px;background:#fbfcfc;padding:0 11px;color:#24332f;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.project-actions input:focus,.symbol-filters input:focus,.symbol-filters select:focus{border-color:#4c927d;background:#fff;box-shadow:0 0 0 3px #4c927d1f}.page-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.page-actions button{height:34px;border:1px solid #d5dedb;border-radius:8px;background:#fff;color:#34584d;font-weight:650;cursor:pointer}.page-actions button:hover{background:#eef5f2;border-color:#a9c2b9}.quick-add-menu{top:105px;left:12px;right:auto;width:220px;padding:6px;border:1px solid #d7e0dd;border-radius:11px;background:#fff;box-shadow:0 16px 38px #1b302a2b}.quick-add-menu button{width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;text-align:left;color:#293b36;cursor:pointer}.quick-add-menu button:hover{background:#eaf3f0;color:#174f40}.explorer-tabs{padding:0 12px;border-bottom:1px solid #e2e9e6;gap:4px}.explorer-tabs button{height:39px;border-radius:8px 8px 0 0;font-weight:650}.right-tabs{height:48px;align-items:center;padding:0 7px;gap:2px;background:#fbfcfc}.right-tabs button{height:42px;border-radius:7px 7px 0 0;font-size:12px;white-space:nowrap}.symbol-panel-head{padding-bottom:12px;border-bottom:1px solid #edf1ef}.symbol-panel-head .primary{border-radius:9px;box-shadow:0 2px 6px #14382d1c}.symbol-filters{display:grid;gap:8px;padding:12px 0}.drawing-toolbar{gap:4px;padding:5px 9px;box-shadow:0 2px 8px #1b2d2712;scrollbar-width:thin}.drawing-toolbar button{height:36px;border-radius:8px;color:#44534e;transition:background .12s,border-color .12s,transform .12s}.drawing-toolbar button:hover{background:#edf4f1;border-color:#d5e3de}.drawing-toolbar button:active{transform:translateY(1px)}.drawing-toolbar button.active{background:#e2f0eb;border-color:#8eb9ab;box-shadow:inset 0 0 0 1px #fff}.drawing-toolbar .divider{margin:0 6px;border-color:#d8e0dd}.zoom-speed-control{height:36px;border:1px solid #d8e0dd;border-radius:8px;background:#f8faf9;padding:0 7px;display:flex;align-items:center;gap:5px;font-size:11px;color:#66736e}.zoom-speed-control select{border:0;background:transparent;font-weight:700;color:#2f433c;outline:none}@media(max-width:1180px){.layout-screen.active{grid-template-columns:210px minmax(0,1fr) 270px}.layout-screen.left-collapsed{grid-template-columns:0 minmax(0,1fr) 270px}.layout-screen.right-collapsed{grid-template-columns:210px minmax(0,1fr) 0}.drawing-toolbar button span{display:none}}
.page-card.drop-before,.folder-head.drop-before{box-shadow:inset 0 3px #2f8069!important}.page-card.drop-after,.folder-head.drop-after{box-shadow:inset 0 -3px #2f8069!important}.folder-head.drop-inside,.folder-pages.drop-inside{background:#e5f3ee!important;box-shadow:inset 0 0 0 2px #2f8069!important}.folder-head[draggable=true],.page-card[draggable=true]{user-select:none;-webkit-user-drag:element}.page-card[draggable=true] img{-webkit-user-drag:none;pointer-events:none}
.folder-head,.page-card{touch-action:none}.organizer-drag-ghost{position:fixed;z-index:5000;pointer-events:none;max-width:220px;padding:8px 12px;border-radius:8px;background:#173e33;color:#fff;font-size:12px;font-weight:800;box-shadow:0 10px 26px #10271f55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-list:has(.organizer-drag-ghost){cursor:grabbing}
.folder-head strong:before,.page-card-copy strong:before{content:none!important}.organizer-handle{flex:0 0 20px;width:20px;height:26px;padding:0;border:0;border-radius:6px;background-color:transparent;background-image:radial-gradient(circle,#758a82 1.5px,transparent 1.7px);background-size:6px 6px;background-position:center;cursor:grab;touch-action:none}.organizer-handle:hover,.organizer-handle:focus-visible{background-color:#dce9e4;outline:2px solid #80ac9d;outline-offset:1px}.organizer-handle:active{cursor:grabbing}.page-folder .page-card{grid-template-columns:20px 62px minmax(0,1fr) 25px}.page-card[title]{position:relative}.page-card[title]:hover{border-color:#b8cbc4}.dragging{opacity:.48}.organizer-drag-ghost{cursor:grabbing}
.organizer-handle{display:none!important}.page-folder .page-card{grid-template-columns:62px minmax(0,1fr) 25px!important;column-gap:10px;align-items:start;min-height:58px;cursor:grab;user-select:none}.page-folder .page-card:active,.folder-head:active{cursor:grabbing}.page-card-copy{padding-top:1px;overflow:hidden}.page-card-copy strong{line-height:1.25;margin-bottom:2px}.page-card-copy small{line-height:1.25}.folder-head{cursor:grab;user-select:none}.folder-head button{cursor:pointer}.page-card img{user-select:none;-webkit-user-drag:none;pointer-events:none}
.project-workspace-tabs{height:48px;display:flex;align-items:end;gap:4px;padding:0 22px;background:#fff;border-bottom:1px solid #d9e3df}.project-workspace-tabs button{height:40px;padding:0 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#60716b;font-weight:750;cursor:pointer}.project-workspace-tabs button:hover{color:#174f40;background:#f4f8f6}.project-workspace-tabs button.active{color:#174f40;border-bottom-color:#c49d4d}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.dashboard-heading h1{margin:3px 0 6px}.dashboard-heading p,.panel-heading p{margin:0;color:var(--muted)}.eyebrow{color:#38725f;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.dashboard-cards article b{font-size:24px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:16px}.dashboard-grid .panel{padding:0;overflow:hidden}.panel-heading{padding:18px 20px;border-bottom:1px solid #e3ebe8}.panel-heading h2{margin:0 0 4px;font-size:17px}.dashboard-project-list{display:grid}.dashboard-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 20px;border:0;border-bottom:1px solid #edf2f0;background:#fff;text-align:left;cursor:pointer}.dashboard-project-row:hover{background:#f4faf7}.dashboard-project-row:last-child{border-bottom:0}.dashboard-project-row strong,.dashboard-project-row small{display:block}.dashboard-project-row small{margin-top:4px;color:var(--muted)}.dashboard-project-row span{color:#376b5b;font-size:12px;font-weight:750}.dashboard-attention{display:grid;gap:9px;padding:16px 20px}.attention-row{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid #dfe8e4;border-radius:9px;background:#f9fbfa}.attention-row span{color:var(--muted);font-size:12px}.project-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.project-info-grid div{padding:14px 20px;border-bottom:1px solid #edf2f0}.project-info-grid small,.project-info-grid strong{display:block}.project-info-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.project-workspace-tabs{padding:0 10px;overflow-x:auto}.project-workspace-tabs button{padding:0 12px;white-space:nowrap}}
.estimate-cost-basis{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #b8d5cb;border-radius:8px;background:#edf7f3;color:#245c4b;font-size:12px;font-weight:700}.settings-launcher{display:grid;gap:10px}.settings-launcher button{display:grid;gap:4px;text-align:left;padding:16px;border:1px solid #d8e2de;border-radius:11px;background:#fff;color:#263732;cursor:pointer}.settings-launcher button:hover{border-color:#7faa9c;background:#f1f7f5}.settings-launcher button b{font-size:15px}.settings-launcher button span{font-size:12px;color:#6b7873}.modal-card:has(.package-settings-table){width:min(940px,calc(100% - 30px))}.package-settings-table{max-height:62vh;overflow:auto;border:1px solid #d9e2df;border-radius:10px}.package-settings-head,.package-settings-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) 100px 100px;gap:8px;align-items:center;padding:8px 10px}.package-settings-head{position:sticky;top:0;background:#294d41;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;z-index:1}.package-settings-row{border-top:1px solid #e7ecea}.package-settings-row input,.package-settings-row select{width:100%;margin:0!important;padding:8px!important}.package-settings-row label{display:flex!important;align-items:center;gap:6px;margin:0!important}.package-settings-row label input{width:auto!important}
.integration-settings{display:grid;gap:14px}.integration-status{display:grid;gap:4px;padding:14px;border:1px solid #d9e2df;border-radius:10px;background:#f6f8f7}.integration-status.configured{border-color:#acd0c1;background:#edf7f3;color:#245c4b}.integration-status.missing{border-color:#e6c6a9;background:#fff8f0;color:#80430f}.integration-status span{font-size:12px}.integration-settings>label:not(.settings-check){display:grid;gap:6px;font-weight:700}.integration-settings input{width:100%}.integration-actions{display:flex;align-items:center;gap:10px}.integration-actions span{font-size:12px}.integration-actions span.success{color:#24704f}.integration-actions span.error{color:#a6382d}.danger-check{color:#9d3028}
.admin-settings-intro{padding:12px 14px;margin-bottom:14px;border:1px solid #d8e5e0;border-radius:10px;background:#f3f8f6}.admin-settings-intro span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.admin-settings-intro p{margin:5px 0 0;color:var(--muted);font-size:13px}.modal-card:has(.package-tree-editor){width:min(980px,calc(100% - 30px))}.package-tree-editor{display:grid;gap:10px}.package-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.package-tree-toolbar strong,.package-tree-toolbar small{display:block}.package-tree-toolbar small{margin-top:4px;color:var(--muted)}.package-tree-toolbar button{border:0;border-radius:8px;padding:9px 13px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.package-tree-columns{display:grid;grid-template-columns:minmax(290px,1fr) 180px 120px 74px;gap:10px;padding:8px 12px 8px 48px;background:#294d41;color:#fff;border-radius:9px 9px 0 0;font-size:11px;font-weight:800;text-transform:uppercase}.package-tree{max-height:58vh;overflow:auto;border:1px solid #d8e2de;border-top:0;border-radius:0 0 10px 10px;background:#f7f9f8}.system-package-row{position:relative;display:grid;grid-template-columns:26px minmax(250px,1fr) 180px 120px 74px;gap:10px;align-items:center;padding:9px 10px 9px calc(10px + var(--package-depth)*28px);background:#fff;border-top:1px solid #e5ebe8;transition:background .12s,box-shadow .12s}.system-package-row:first-child{border-top:0}.system-package-row:hover{background:#f5f9f7}.system-package-row.drag-source{opacity:.42}.system-package-row.drop-before{box-shadow:inset 0 3px 0 #2c8066}.system-package-row.drop-after{box-shadow:inset 0 -3px 0 #2c8066}.system-package-row.drop-inside{background:#e5f2ed;box-shadow:inset 4px 0 0 #2c8066}.system-package-drag{display:grid!important;grid-template-columns:repeat(2,4px);gap:3px;width:26px!important;height:34px;border:0!important;background:transparent!important;padding:6px!important;cursor:grab!important}.system-package-drag:active{cursor:grabbing!important}.system-package-drag i{width:4px;height:4px;border-radius:50%;background:#7b8984}.system-package-main{min-width:0}.system-package-main input,.system-package-code{margin:0!important;width:100%;padding:8px!important}.system-package-main small{display:block;margin-top:4px;color:#7b8984;font-size:10px}.system-package-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;letter-spacing:.03em}.system-package-status{display:flex!important;align-items:center;gap:7px;margin:0!important}.system-package-status input{width:auto!important;margin:0!important}.system-package-remove{border:0;background:transparent;color:#a33d35;font-size:12px;cursor:pointer}.package-code-help{margin:0;color:var(--muted);font-size:11px}@media(max-width:760px){.package-tree-columns{display:none}.system-package-row{grid-template-columns:26px 1fr 100px;padding-left:calc(8px + var(--package-depth)*18px)}.system-package-status,.system-package-remove{grid-column:2/-1}.package-tree-toolbar{align-items:flex-start}}
.reports-screen{background:#f3f6f4;overflow:auto}.reports-shell{min-height:calc(100vh - 54px);display:grid;grid-template-columns:270px minmax(0,1fr)}.report-library{background:#fff;border-right:1px solid #dce4e0;padding:26px 18px;display:flex;flex-direction:column;gap:10px}.report-library-head{padding:0 8px 14px}.report-library-head h2{font-size:24px;margin:5px 0}.report-library-head p,.report-heading p{color:#67756f;margin:0}.report-type{text-align:left;border:1px solid #dce4e0;background:#fff;border-radius:11px;padding:14px;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:#17221e}.report-type span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#728079}.report-type strong{font-size:14px}.report-type small{color:#6c7974;line-height:1.35}.report-type:hover{border-color:#8db7a7;background:#f7fbf9}.report-type.active{border-color:#397963;background:#edf7f3;box-shadow:inset 3px 0 #397963}.report-coming{margin-top:auto;border-top:1px solid #e4eae7;padding:16px 8px;display:grid;gap:5px}.report-coming small{color:#718079;line-height:1.45}.report-workspace{padding:28px 32px;min-width:0}.report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.report-heading h1{margin:4px 0 5px;font-size:27px}.report-actions{display:flex;gap:8px}.report-filters{background:#fff;border:1px solid #dce4e0;border-radius:12px;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) minmax(220px,.7fr);gap:12px;align-items:end}.report-filters label{font-size:11px;font-weight:800;color:#52615b;text-transform:uppercase;letter-spacing:.04em}.report-filters select,.report-filters input{display:block;width:100%;margin-top:6px;border:1px solid #cfd9d5;border-radius:8px;padding:9px;background:#fff;font-size:13px}.report-markup-all div{display:flex;gap:6px}.report-markup-all input{min-width:0}.report-markup-all button{margin-top:6px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.report-summary article{background:#fff;border:1px solid #dce4e0;border-radius:11px;padding:15px}.report-summary small{display:block;color:#718079;text-transform:uppercase;font-size:10px;letter-spacing:.05em;margin-bottom:6px}.report-summary strong{font-size:21px}.report-table-panel{background:#fff;border:1px solid #dce4e0;border-radius:12px;overflow:auto}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th{background:#173c31;color:#fff;text-align:left;padding:11px 12px;white-space:nowrap}.report-table td{border-bottom:1px solid #e5ebe8;padding:10px 12px;white-space:nowrap}.report-table td strong,.report-table td small{display:block}.report-table td small{color:#78847f;margin-top:3px}.report-table .num{text-align:right}.report-table input{width:82px;text-align:right;border:1px solid #cbd7d2;border-radius:6px;padding:6px}.report-table .proposal-value{font-weight:800;color:#286a54}.report-table tfoot th{background:#eaf2ee;color:#19372e;border-top:2px solid #adc7bd}.report-empty{text-align:center!important;color:#718079;padding:32px!important}.report-footnote{font-size:11px;color:#718079;margin:10px 2px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#397963;font-weight:800}@media(max-width:1000px){.reports-shell{grid-template-columns:220px minmax(0,1fr)}.report-filters{grid-template-columns:1fr 1fr}.report-summary{grid-template-columns:1fr 1fr}.report-workspace{padding:20px}}@media print{.topbar,.report-library,.report-actions,.report-filters{display:none!important}.reports-shell{display:block}.report-workspace{padding:0}.reports-screen{background:#fff}.report-table-panel,.report-summary article{border-color:#aaa}.report-footnote{display:block}}
.tabs [data-client-only]{display:none}.client-access .tabs [data-client-only]{display:block}.client-access [data-tool="polygon"],.client-access .right-tabs [data-side="symbols"],.client-access #symbolsPanel{display:none!important}
.client-access #bom .flow-mode-tabs,.client-access #bom .estimate-head-actions,.client-access #bom .estimate-cost-basis,.client-access #bom #addEstimateOption,.client-access #bom #exportEstimate,.client-access #bom .estimate-select,.client-access #bom #estimateSelectionCount{display:none!important}.client-access #bom .flow-head h1{font-size:0}.client-access #bom .flow-head h1:after{content:"Takeoff";font-size:22px}.client-access #bom .flow-head p{display:none}.client-access #bom .estimate-shell{grid-template-rows:58px 42px minmax(0,1fr) 28px}.client-access #bom .estimate-summary{grid-template-columns:repeat(3,minmax(130px,1fr))}

/* Scalable application navigation and drawing tool system */
.topbar{position:relative;z-index:20;padding:0 14px;gap:18px;background:linear-gradient(105deg,#07130f 0%,#10231d 54%,#172a23 100%);border-bottom:1px solid #294039;box-shadow:0 4px 18px #07130f26}.brand{min-width:245px}.brandmark{width:36px;height:36px;border-radius:10px;box-shadow:inset 0 0 0 1px #fff5,0 4px 14px #0003}.brand strong{font-size:14px;letter-spacing:.01em}.brand small{font-size:10px;color:#9fb2aa;margin-top:2px}.tabs{align-items:center;gap:3px;min-width:0}.tabs button,.tabs .tab-link{height:38px;padding:0 13px;border:0!important;border-radius:8px;color:#aebdb7;transition:color .15s,background .15s,box-shadow .15s}.tabs button:hover,.tabs .tab-link:hover{background:#ffffff0d;color:#fff}.tabs button.active{background:#ffffff12;color:#fff;box-shadow:inset 0 -2px var(--gold)}.sync{gap:6px;white-space:nowrap}.sync>.dot{width:7px;height:7px;box-shadow:0 0 0 3px #47c98018}.sync #saveLabel{font-size:10px;color:#9fb2aa;margin-right:3px}.sync .share-plan-button{height:30px;border-color:#b7c9c2;background:#f7faf9;color:#17382f;padding:0 10px;border-radius:7px;box-shadow:0 2px 7px #0002}.account-button{height:32px;background:#ffffff0b;border-color:#ffffff20}
.account-menu-wrap{position:relative}.account-chevron{color:#aebdb7;font-size:12px;line-height:1;transition:transform .15s}.account-button[aria-expanded="true"]{background:#ffffff18;border-color:#ffffff36}.account-button[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}.account-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:240;width:260px;padding:7px;background:#fff;border:1px solid #d8e1dd;border-radius:12px;box-shadow:0 18px 48px #07130f42;color:#18231f;white-space:normal}.account-menu.hidden{display:none}.account-menu:before{content:"";position:absolute;right:19px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid #d8e1dd;border-top:1px solid #d8e1dd;transform:rotate(45deg)}.account-menu-identity{position:relative;padding:10px 11px 11px;border-bottom:1px solid #e6ece9;margin-bottom:5px}.account-menu-identity strong,.account-menu-identity small{display:block;overflow:hidden;text-overflow:ellipsis}.account-menu-identity strong{font-size:13px}.account-menu-identity small{color:#6c7a74;font-size:10px;margin-top:3px}.account-menu>button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#20302a;text-align:left;cursor:pointer}.account-menu>button:hover,.account-menu>button:focus-visible{background:#edf5f1;outline:none}.account-menu>button>span:first-child{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#e2eee8;color:#2d6957;font-size:13px}.account-menu>button>span:last-child{min-width:0}.account-menu>button b,.account-menu>button small{display:block}.account-menu>button b{font-size:12px}.account-menu>button small{font-size:9px;color:#718079;margin-top:2px}
.drawing-toolbar{min-width:0;gap:6px;padding:5px 8px;background:linear-gradient(#fff,#fbfcfc);border-bottom-color:#cfdad6;box-shadow:0 3px 12px #172c2514;overflow-x:auto;overflow-y:hidden}.drawing-toolbar button{flex:0 0 auto}.toolbar-mode-switch{height:38px;display:flex;align-items:center;gap:2px;padding:3px;background:#e9efec;border:1px solid #d3ded9;border-radius:10px;flex:0 0 auto}.drawing-toolbar .toolbar-mode-switch button{height:30px;min-width:auto;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#65746e;font-weight:700}.drawing-toolbar .toolbar-mode-switch button:hover{background:#ffffffa6}.drawing-toolbar .toolbar-mode-switch button.active{background:#fff;color:#174f40;border:0;box-shadow:0 2px 6px #18382e20}.toolbar-rule{height:28px;width:1px;background:#d8e1de;flex:0 0 1px;margin:0 1px}.toolbar-group,.toolbar-mode-panel{display:flex;align-items:center;gap:3px;flex:0 0 auto}.toolbar-context{display:flex;align-items:center;min-width:0}.toolbar-mode-panel{display:none}.toolbar-mode-panel.active{display:flex}.toolbar-spacer{flex:1 1 18px;min-width:8px}.toolbar-view{margin-left:auto}.toolbar-view #zoomPct{min-width:48px;font-variant-numeric:tabular-nums;font-weight:700}.drawing-toolbar button[title] span{font-weight:600}.drawing-toolbar .toolbar-mode-panel button.active{background:#dcefe8;border-color:#78aa99;color:#0b5d48}.toolbar-history{padding:0 2px;border-radius:8px}.toolbar-history #deleteBtn:hover{background:#fbeae7;border-color:#efc6c0;color:#a43e34}
@media(max-width:1450px){.topbar{gap:10px}.brand{min-width:210px}.tabs button,.tabs .tab-link{padding:0 9px;font-size:11px}.sync #saveLabel{display:none}.drawing-toolbar .toolbar-mode-panel button span,.drawing-toolbar .toolbar-history button span,.drawing-toolbar .toolbar-navigation button span{display:none}.drawing-toolbar .toolbar-mode-panel button,.drawing-toolbar .toolbar-history button,.drawing-toolbar .toolbar-navigation button{min-width:36px}}
@media(max-width:1050px){.toolbar-mode-switch button span{font-size:10px}.zoom-speed-control{display:none}.topbar .brand{min-width:auto}.topbar .tabs{overflow-x:auto;scrollbar-width:none}}

/* Integrated project explorer and context inspector */
.overlay-scale-pair{display:grid;grid-template-columns:64px minmax(80px,1fr);align-items:center;gap:7px}.overlay-scale-pair input[type=range]{width:100%;height:30px;margin:3px 0 0;padding:0;accent-color:#397963}.overlay-align-actions #overlayHudSmaller,.overlay-align-actions #overlayHudLarger{font-weight:800;background:#eef6f3;border-color:#9dbcb1}
.drawing-overlay.is-aligning{z-index:6!important;pointer-events:auto!important;user-select:none;-webkit-user-drag:none}.viewer.overlay-aligning #markupSvg{pointer-events:none}.viewer.overlay-aligning .stage{overflow:visible}
.overlay-resize-frame{position:absolute;left:0;top:0;z-index:7;width:3240px;height:2160px;transform-origin:0 0;pointer-events:none;outline:3px solid #168ee0;outline-offset:-2px;will-change:transform}.overlay-resize-handle{position:absolute;width:30px;height:30px;margin:0;padding:0;border:4px solid #fff;border-radius:50%;background:#168ee0;box-shadow:0 2px 9px #082f4980;pointer-events:auto;touch-action:none}.overlay-resize-handle:focus-visible{outline:4px solid #f7b731;outline-offset:3px}.overlay-resize-handle.nw{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}.overlay-resize-handle.ne{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}.overlay-resize-handle.sw{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}.overlay-resize-handle.se{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}.viewer.overlay-aligning.overlay-resizing,.viewer.overlay-aligning.overlay-resizing *{cursor:nwse-resize!important}
.overlay-color-control{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px}.overlay-color-control input[type=color]{width:42px;height:34px;padding:2px;border:1px solid #cbd8d3;border-radius:8px;background:#fff;cursor:pointer}.overlay-color-control input[type=range]{width:100%;accent-color:var(--overlay-tint-preview,#168ee0)}
.overlay-align-hud{position:absolute;z-index:18;top:14px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 28px));padding:10px 12px;border:1px solid #6c9286;border-radius:12px;background:#fffffff2;box-shadow:0 12px 34px #10271f38;backdrop-filter:blur(8px)}.overlay-align-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.overlay-align-title strong,.overlay-align-title small{display:block}.overlay-align-title strong{font-size:13px;color:#173e33}.overlay-align-title small{margin-top:2px;color:#71827c;font-size:9px}.overlay-align-title button{padding:7px 14px}.overlay-align-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}.overlay-align-grid label{color:#64766f;font-size:9px}.overlay-align-grid input[type=number]{width:100%;height:30px;margin-top:3px;border:1px solid #cbd8d3;border-radius:7px;padding:4px 7px;background:#fff}.overlay-align-grid .overlay-hud-lock{display:flex;align-items:center;gap:6px;padding-top:15px;color:#2d5146;font-size:10px}.overlay-hud-lock input{margin:0}.overlay-align-actions{display:flex;align-items:center;gap:7px;margin-top:9px}.overlay-align-actions button{border:1px solid #c9d8d2;border-radius:7px;background:#fff;padding:6px 10px;color:#2d5146;cursor:pointer}.overlay-align-actions span{margin-left:auto;color:#536861;font-size:10px;font-variant-numeric:tabular-nums}.viewer.overlay-aligning{cursor:default}.viewer.overlay-aligning .viewer-help{display:none}@media(max-width:700px){.overlay-align-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.drawing-toolbar{overflow-x:auto!important;overflow-y:hidden!important}.drawing-toolbar .toolbar-context{flex:0 0 auto!important;width:auto!important;overflow:visible!important}.drawing-toolbar>.toolbar-view{margin-left:0!important}.drawing-toolbar>.toolbar-spacer{display:none!important}
.drawing-toolbar{overflow:hidden}.drawing-toolbar .toolbar-context{flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.drawing-toolbar>.toolbar-spacer{display:none}.drawing-toolbar>.toolbar-view{position:relative;z-index:3;flex:0 0 auto;margin-left:0;background:#fff}.drawing-toolbar>.toolbar-history{flex:0 0 auto}
.explorer-search-row{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center;padding:10px 12px!important;background:#fbfcfc}.explorer-search-icon{width:28px;height:36px;display:grid;place-items:center;color:#698078;font-size:18px;border:1px solid #d4dfdb;border-right:0;border-radius:9px 0 0 9px;background:#fff}.explorer-search-row input{height:36px!important;border-radius:0 9px 9px 0!important;border-left:0!important;padding-left:3px!important}.explorer-search-row input:focus{border-left:0!important;box-shadow:3px 0 0 3px #4c927d1f!important}.explorer-tabs{background:#fff;padding-top:3px}.layer-block{padding:14px 14px 16px;background:linear-gradient(#fbfcfc,#f6f9f7);border-top:1px solid #dce5e1}.layer-block-title{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-bottom:8px}.layer-block-title span,.panel-eyebrow{display:block;color:#39715f;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:850}.layer-block-title h3{margin:2px 0 0;font-size:14px}.layer-block-title>small{color:#82908a;font-size:9px}.layer-block label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:7px 0;padding:9px 10px;border:1px solid #dbe4e0;border-radius:9px;background:#fff;cursor:pointer}.layer-block label>span b,.layer-block label>span small{display:block}.layer-block label>span b{font-size:11px;color:#294039}.layer-block label>span small{font-size:9px;color:#82908a;margin-top:2px}.layer-block label input{position:absolute;opacity:0;pointer-events:none}.layer-block label i{position:relative;width:32px;height:18px;border-radius:999px;background:#c6d0cc;box-shadow:inset 0 0 0 1px #aab8b2;transition:.16s}.layer-block label i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.16s}.layer-block label input:checked+i{background:#397963;box-shadow:inset 0 0 0 1px #2f6856}.layer-block label input:checked+i:after{left:16px}.layer-block label:focus-within{outline:2px solid #73a895;outline-offset:1px}.quick-add-menu.toolbar-anchored{position:fixed!important;z-index:150!important;top:var(--quick-add-top)!important;left:var(--quick-add-left)!important;right:auto!important;width:230px!important}.right-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.right-tabs{overflow:hidden}.right-tabs button{padding:0 7px}.side-content.active{display:block;overflow:auto;min-height:0}.symbol-panel-head{align-items:center}.symbol-panel-head>div{min-width:0}.symbol-panel-head strong{display:block;font-size:15px;margin-top:3px}.symbol-panel-head small{line-height:1.4}.symbol-panel-head .primary{white-space:nowrap;padding:9px 10px!important}.panel-eyebrow{margin-bottom:1px}#layout:not([data-toolbar-mode="takeoff"]) .right-tabs [data-side="symbols"]{display:none!important}
.toolbar-add-dropdown{position:relative;height:36px}.toolbar-add-dropdown>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:4px;height:36px;padding:0 10px;border:1px solid transparent;border-radius:8px;color:#44534e;cursor:pointer;list-style:none}.toolbar-add-dropdown>summary::-webkit-details-marker{display:none}.toolbar-add-dropdown>summary:hover,.toolbar-add-dropdown[open]>summary{background:#edf4f1;border-color:#d5e3de}.toolbar-add-dropdown .quick-add-menu{display:grid}.toolbar-add-dropdown .quick-add-menu.hidden{display:none}.toolbar-add-dropdown[open] .quick-add-menu.hidden{display:grid}
.drawing-overlay{position:absolute;left:0;top:0;width:3240px;height:2160px;transform-origin:0 0;pointer-events:none;will-change:transform,opacity,clip-path}.drawing-overlay.is-aligning{pointer-events:auto;cursor:move;outline:4px solid #24a4ff;outline-offset:-4px}.overlay-modal-card{width:min(920px,calc(100% - 30px))!important;max-height:88vh;overflow:auto}.overlay-manager{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px}.overlay-section{border:1px solid #d7e1dd;border-radius:12px;padding:14px;background:#fbfcfc}.overlay-section h3{margin:0 0 4px;font-size:15px}.overlay-section>p{margin:0 0 13px;color:#6c7b75;font-size:11px}.overlay-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overlay-form-grid label{margin:0!important}.overlay-form-grid .wide{grid-column:1/-1}.overlay-range{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}.overlay-range input{margin:0!important}.overlay-range output{text-align:right;font-weight:800;color:#285c4c}.overlay-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.overlay-actions button{border:1px solid #c9d8d2;background:#fff;color:#2d5146;border-radius:8px;padding:8px 10px;cursor:pointer}.overlay-actions button.active{background:#dff0ea;border-color:#76a894;color:#0d5c4b}.overlay-lock{display:flex!important;align-items:center;gap:7px;margin-top:12px!important}.overlay-lock input{width:auto!important;margin:0!important}.overlay-note{margin-top:10px;padding:9px;border-radius:8px;background:#eef5f2;color:#4a655c;font-size:10px;line-height:1.45}.markup.overlay-muted{opacity:.12!important;filter:grayscale(1)}.markup.overlay-focus{opacity:1!important;filter:drop-shadow(0 0 8px #1ba778)}.markup.overlay-option-main>*{stroke:#15803d!important}.markup.overlay-option-option>*{stroke:#f59e0b!important}.markup.overlay-option-added>*{stroke:#2563eb!important}.markup.overlay-option-removed>*{stroke:#dc2626!important}.markup.overlay-heat{filter:drop-shadow(0 0 var(--heat-glow,6px) var(--heat-color,#ef4444))}.overlay-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:10px}.overlay-legend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;background:var(--legend)}@media(max-width:760px){.overlay-manager{grid-template-columns:1fr}.overlay-form-grid{grid-template-columns:1fr}.overlay-form-grid .wide{grid-column:auto}}
@media(min-width:701px){.layout-screen.active{grid-template-columns:var(--left-panel-width,230px) minmax(0,1fr) var(--right-panel-width,300px)}.layout-screen.left-collapsed{grid-template-columns:0 minmax(0,1fr) var(--right-panel-width,300px)}.layout-screen.right-collapsed{grid-template-columns:var(--left-panel-width,230px) minmax(0,1fr) 0}.layout-screen.left-collapsed.right-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.right-resize-handle{display:block;position:absolute;z-index:20;top:0;bottom:0;right:calc(var(--right-panel-width,300px) - 4px);width:9px;cursor:col-resize;touch-action:none}.right-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:#cbd6d2;transition:width .14s,left .14s,background .14s}.right-resize-handle:hover:before,.right-resize-handle.is-resizing:before{left:2px;width:4px;background:#4f8e79}.layout-screen.right-collapsed .right-resize-handle{display:none}}@media(max-width:700px){.right-resize-handle{display:none}}

.pdf-page-canvas{position:absolute;left:0;top:0;width:3240px;height:2160px;pointer-events:none}
/* Unified annotations */
[data-toolbar-panel="review"] [data-tool="comment"]{display:none}.structured-note{cursor:pointer;filter:drop-shadow(0 3px 5px #10231c2f)}.annotation-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.annotation-panel-head div{display:grid;gap:3px}.annotation-panel-head small,.annotation-thread-head small{color:var(--muted);font-size:11px}.annotation-filters{margin-bottom:10px}.annotation-filters select{width:100%;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.annotation-list-item{display:grid;grid-template-columns:7px minmax(0,1fr);gap:10px}.annotation-list-item>div{min-width:0}.annotation-list-item p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annotation-color{border-radius:6px}.modal-card:has(.annotation-editor){width:min(900px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto}.annotation-editor{display:grid;gap:18px}.annotation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.annotation-form-grid .span-2,.annotation-check{grid-column:1/-1}.annotation-check{display:flex!important;align-items:center;gap:8px}.annotation-check input{width:auto!important;margin:0!important}.annotation-thread{border-top:1px solid var(--line);padding-top:14px}.annotation-thread-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.annotation-thread-head>div{display:grid}.annotation-thread-head>span{border-radius:999px;background:#edf4f1;padding:3px 8px}.annotation-message{border:1px solid #dce5e1;border-radius:9px;padding:10px;margin:8px 0;background:#fbfcfc}.annotation-message strong{font-size:12px}.annotation-message time{float:right;color:var(--muted);font-size:10px}.annotation-message p{margin:7px 0 0;white-space:pre-wrap}.annotation-thread>button,.annotation-promote button{border:1px solid #b9cbc5;border-radius:8px;background:#fff;padding:8px 11px;cursor:pointer}.annotation-promote{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}.annotation-promote span{color:var(--brand);font-size:12px;font-weight:700}@media(max-width:700px){.annotation-form-grid{grid-template-columns:1fr}.annotation-form-grid .span-2,.annotation-check{grid-column:auto}}

/* Case management */
.case-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.case-editor-grid .span-2{grid-column:1/-1}.case-lines-head small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.case-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:10px 0 18px}.case-snapshot-card{position:relative;border:1px solid var(--line);border-radius:10px;padding:8px;background:#f8faf9}.case-snapshot{display:block;width:100%;height:170px;background:#d8dedb;border-radius:6px}.case-snapshot-caption{margin-top:7px}.remove-case-snapshot{position:absolute;right:14px;top:14px;background:#fff!important;color:#a13d35!important}.case-editor-actions,.case-panel-actions,.case-dashboard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.case-editor-actions{justify-content:space-between;margin-top:16px}.portfolio-case-panel{margin-top:18px}.case-dashboard-actions select{min-width:155px}.case-dashboard-table tbody tr{cursor:pointer}.case-dashboard-table td:first-child strong,.case-dashboard-table td:first-child small{display:block}.case-dashboard-table td:first-child small{color:var(--muted)}.case-type-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8f2ee;color:#315f50;font-size:11px;font-weight:800}.case-overdue{color:#b2362c;font-weight:800}.case-share-box{display:grid;gap:12px}.case-share-box small{color:var(--muted);line-height:1.5}.case-snapshot-missing{display:grid;place-items:center;height:160px;background:#edf1ef;color:var(--muted)}@media(max-width:760px){.case-editor-grid{grid-template-columns:1fr}.case-editor-grid .span-2{grid-column:auto}.case-dashboard-actions{align-items:stretch}.case-dashboard-actions>*{flex:1 1 100%}}
.case-tag-editor{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:42px;margin-top:5px;padding:5px 7px;border:1px solid #cbd8d3;border-radius:8px;background:#fff}.case-tag-editor:focus-within{border-color:#438670;box-shadow:0 0 0 3px #4386701f}.case-tag-editor .case-tags{display:contents}.case-tag-editor span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:#e5f1ed;color:#244d40;font-size:11px;font-weight:750}.case-tag-editor span button{display:grid;place-items:center;width:17px;height:17px;padding:0;border:0;border-radius:50%;background:#c2d8d0;color:#244d40;cursor:pointer}.case-tag-editor>input{flex:1 1 210px;width:auto!important;min-width:170px;height:30px!important;margin:0!important;padding:0 4px!important;border:0!important;box-shadow:none!important}.case-save-first{color:var(--muted);font-size:11px}.case-report-button{padding:9px 13px!important;border:1px solid #84a99c!important;border-radius:8px!important;background:#eef6f3!important;color:#245646!important;font-weight:800}.case-list-item{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:9px}.case-list-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#287a5b;color:#fff;font-weight:900}.case-list-item.is-closed{opacity:.62}.case-list-item.is-closed .case-list-icon{background:#77837f}.case-state{font-weight:850;color:#247154}.case-list-item.is-closed .case-state{color:#69736f}.case-pin-active{filter:drop-shadow(0 0 5px #2d9b7273)}.viewer.case-snapshot{cursor:crosshair}.report-table [data-case-report-id]{cursor:pointer}.report-table [data-case-report-id]:hover{background:#f0f7f4}

/* Keep the drawing workspace full-height when a case/RFI modal hands control
   back to the plan for a snip. Content-sized grid rows can otherwise collapse
   the viewer to the toolbar and leave the rest of the screen blank. */
main{min-height:0}
.layout-screen.active{height:calc(100vh - 62px);min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}
.layout-screen.active>.viewer-column{height:100%;min-height:0;overflow:hidden;align-self:stretch}
.layout-screen.active .viewer{width:100%;height:100%;min-height:0}
@media(max-width:700px){.layout-screen.active{height:calc(100vh - 54px)}}

/* Selectable PDF text used by the clean line-by-line highlight tool. */
.pdf-text-layer{position:absolute;inset:0;width:3240px;height:2160px;z-index:8;pointer-events:none;user-select:none;-webkit-user-select:none}
.pdf-text-layer.active{pointer-events:auto;user-select:text;-webkit-user-select:text;cursor:text}
.pdf-text-layer span{position:absolute;display:block;overflow:visible;white-space:pre;line-height:1;color:transparent;transform-origin:0 0;font-family:Arial,sans-serif}
.pdf-text-layer span::selection{background:rgba(255,210,40,.55)}
.pdf-text-loading{position:absolute;left:50%;top:28px;transform:translateX(-50%);padding:10px 16px;border-radius:999px;background:#17231fe8;color:#fff;font-size:28px;white-space:nowrap;user-select:none}
.viewer.text-highlight-mode{cursor:text}

/* Independent fill and border controls for rectangle highlights and polygon areas. */
.property-section-title{margin:15px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.area-style-props output{float:right;color:var(--ink);font-weight:700}
.area-style-props select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:8px;color:var(--ink);background:#fff}
.area-style-props .disabled{opacity:.45}

/* Project workspace loading and isolation handoff. */
.project-loading-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#10221de8;backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.project-loading-overlay.visible{opacity:1;visibility:visible}.project-loading-card{width:min(520px,100%);padding:28px;border:1px solid #ffffff2b;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0007}.project-loading-brand{display:flex;align-items:center;gap:13px}.project-loading-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:9px;background:#c9ad63;color:#13231e;font:800 24px Georgia,serif}.project-loading-brand small{display:block;color:#64736d;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.project-loading-brand strong{display:block;margin-top:3px;color:#182720;font-size:21px}.project-loading-progress{height:12px;margin:25px 0 12px;overflow:hidden;border-radius:999px;background:#e4ebe8}.project-loading-progress>div{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#2d715a,#61a98e);transition:width .28s ease}.project-loading-status{display:flex;align-items:center;gap:12px}.project-loading-status strong{min-width:48px;color:#245b49;font-size:18px}.project-loading-status span{color:#3f514a;font-weight:700}.project-loading-card p{margin:18px 0 0;padding-top:15px;border-top:1px solid #e0e7e4;color:#687770;font-size:11px;line-height:1.5}
.project-loading-diagnostics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.project-loading-diagnostics div{min-width:0;padding:10px;border:1px solid #dce5e1;border-radius:8px;background:#f7faf8}.project-loading-diagnostics span{display:block;color:#718079;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.project-loading-diagnostics strong{display:block;margin-top:4px;color:#263a32;font-size:11px;overflow-wrap:anywhere}.project-loading-log{max-height:128px;margin:0;padding:0;overflow:auto;list-style:none;border:1px solid #dce5e1;border-radius:9px}.project-loading-log:empty{display:none}.project-loading-log li{display:grid;grid-template-columns:82px 1fr;gap:8px;padding:7px 10px;border-bottom:1px solid #e6ece9;font-size:11px}.project-loading-log li:last-child{border:0}.project-loading-log time{color:#73817b}.project-loading-warning{margin-top:12px;padding:11px 12px;border:1px solid #e5bd79;border-radius:8px;background:#fff4e3;color:#765018}.project-loading-warning strong,.project-loading-warning span{display:block}.project-loading-warning span{margin-top:3px;font-size:11px}.project-loading-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.project-loading-actions button{padding:8px 11px;border:1px solid #bdccc6;border-radius:7px;background:#fff;font-weight:750}.project-loading-actions .primary{border-color:#315f50;background:#315f50;color:#fff}.project-loading-actions button[hidden],.project-loading-warning[hidden]{display:none}.project-loading-overlay.is-stalled .project-loading-progress>div{background:linear-gradient(90deg,#c27c22,#e0a244)}@media(max-width:620px){.project-loading-diagnostics{grid-template-columns:1fr}.project-loading-log li{grid-template-columns:70px 1fr}}
.page-thumbnail{position:relative;width:62px;height:42px;overflow:hidden;border:1px solid #bbc4c8;background:#eef2f0}.page-thumbnail img{width:100%!important;height:100%!important;border:0!important;object-fit:cover}.page-thumbnail-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#edf3f1e8;color:#365448;text-align:center}.page-thumbnail-status i,.drawing-page-load i{width:14px;height:14px;border:2px solid #aec3bb;border-top-color:#2f745d;border-radius:50%;animation:page-render-spin .8s linear infinite}.page-thumbnail-status b{font-size:8px;line-height:1.05}.page-thumbnail.is-ready .page-thumbnail-status{display:none}.page-thumbnail.is-failed .page-thumbnail-status{background:#fff0ed;color:#9d3d34}.page-thumbnail.is-failed .page-thumbnail-status i{border:0;border-radius:0;animation:none}.page-thumbnail.is-failed .page-thumbnail-status i:before{content:'!';font-size:14px;font-style:normal;font-weight:900}.drawing-page-load{position:absolute;z-index:24;top:18px;left:50%;display:flex;align-items:center;gap:9px;transform:translateX(-50%);padding:9px 13px;border:1px solid #ccd9d4;border-radius:999px;background:#fffffff2;color:#2d4b40;box-shadow:0 7px 22px #172a2333;pointer-events:none}.drawing-page-load.is-ready{opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.drawing-page-load.is-failed{color:#9d3d34}.drawing-page-load.is-failed i{display:none}@keyframes page-render-spin{to{transform:rotate(360deg)}}

/* Filterable and selectable project case register. */
.case-report-filters{margin-top:2px;padding:14px;background:#fff;border:1px solid #dce4e0;border-radius:12px;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.case-report-filters[hidden]{display:none}.case-report-filters label{font-size:11px;font-weight:800;color:#52615b;text-transform:uppercase;letter-spacing:.04em}.case-report-filters select{display:block;width:100%;margin-top:6px;border:1px solid #cfd9d5;border-radius:8px;padding:9px;background:#fff;font-size:13px}.case-filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding-top:2px}.case-filter-actions strong{margin-left:auto;color:#397963;font-size:12px}.case-select-cell{width:42px;text-align:center!important}.case-select-cell input{width:16px;height:16px;accent-color:#397963}.report-table tr.is-selected td{background:#eaf5f0}.report-table tr.is-selected td:first-child{box-shadow:inset 3px 0 #397963}@media(max-width:1000px){.case-report-filters{grid-template-columns:1fr 1fr}}

/* Read-first, project-workable case view. */
.case-view{display:grid;gap:18px}.case-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:4px 0 17px;border-bottom:3px solid #315f50}.case-view-header h2{margin:5px 0 3px;font-size:25px;line-height:1.2}.case-view-header p{margin:0;color:var(--muted)}.case-view-kicker{color:#32705c;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.case-view-status{padding:7px 12px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.case-view-status.active{background:#dff1e9;color:#176044}.case-view-status.closed{background:#e8ecea;color:#59645f}.case-view-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.case-view-actions button{border:1px solid #bfcfc9;border-radius:7px;padding:8px 11px;background:#fff;color:#28493e;font-weight:750;cursor:pointer}.case-view-actions label{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;color:var(--muted);font-size:11px}.case-view-actions select{width:auto;margin:0;padding:7px}.case-view-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden}.case-view-summary div{min-height:66px;padding:11px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.case-view-summary div:nth-child(2n){border-right:0}.case-view-summary div:nth-last-child(-n+2){border-bottom:0}.case-view-summary span{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.case-view-summary strong{font-size:12px}.case-view-section{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.case-view-section h3{margin:0 0 10px;color:#264f42;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.case-view-lines{display:grid;gap:7px}.case-view-lines article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;background:#f7faf8;border-radius:8px}.case-view-lines article>b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#315f50;color:#fff;font-size:11px}.case-view-lines article p{margin:3px 0}.case-view-lines article>span{padding:4px 7px;border-radius:999px;background:#e6efeb;color:#315f50;font-size:10px;font-weight:800}.case-view-exhibits{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.case-view-exhibits figure{margin:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.case-view-exhibits figure>span{display:block;margin-bottom:6px;color:#315f50;font-size:10px;font-weight:800;text-transform:uppercase}.case-view-exhibits figcaption{padding-top:6px;color:var(--muted);font-size:11px}.case-view-section-head{display:flex;justify-content:space-between;gap:18px}.case-view-section-head h3{margin-bottom:2px}.case-view-section-head p{margin:0;color:var(--muted);font-size:11px}.case-view-section-head>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e6efeb;color:#315f50;font-weight:850}.case-view-thread{display:grid;gap:8px;margin:14px 0}.case-view-message{padding:11px 12px;border:1px solid #d8e2de;border-radius:9px;background:#f8faf9}.case-view-message>div{display:flex;justify-content:space-between;gap:12px}.case-view-message time{color:var(--muted);font-size:10px}.case-view-message p{margin:7px 0 0;white-space:pre-wrap}.case-view-empty{padding:18px;border:1px dashed #c8d4cf;border-radius:8px;color:var(--muted);text-align:center}.case-view-discussion textarea{min-height:86px}.case-view-reply-actions{display:flex;justify-content:flex-end;gap:8px}.case-view-reply-actions input{width:min(260px,100%);margin:0}.case-view-reply-actions button{padding:8px 13px;border:0;border-radius:7px}@media(max-width:700px){.case-view-header{flex-direction:column}.case-view-actions label{margin-left:0}.case-view-summary{grid-template-columns:1fr}.case-view-summary div,.case-view-summary div:nth-child(2n){border-right:0;border-bottom:1px solid var(--line)}.case-view-summary div:last-child{border-bottom:0}.case-view-lines article{grid-template-columns:30px minmax(0,1fr)}.case-view-lines article>span{grid-column:2}.case-view-reply-actions{flex-direction:column}.case-view-reply-actions input{width:100%}}
.page-recovery-tools{margin-top:22px}.page-maintenance-actions{display:flex;flex-wrap:wrap;gap:10px}.page-maintenance-actions button{flex:1;min-width:210px;padding:11px 14px;border:1px solid #aebdb7;border-radius:8px;background:#f5f8f7;color:#183a2f;font-weight:700;cursor:pointer}.page-maintenance-actions button:hover{background:#e9f2ee}.page-maintenance-actions .danger-button{border-color:#d8a7a1;background:#fff7f6;color:#9c332b}.page-maintenance-actions button:disabled{cursor:wait;opacity:.65}
.project-number-help,.project-firm-help{grid-column:1/-1;color:var(--muted);font-size:11px}.project-number-help{margin-top:-8px;padding:8px 10px;border-radius:7px;background:#f1f6f3}.project-firm-help button{padding:0;border:0;background:none;color:var(--brand);font-weight:800;cursor:pointer}.firm-directory-editor{display:grid;gap:10px}.firm-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.firm-directory-toolbar>div{display:grid;gap:3px}.firm-directory-toolbar small{color:var(--muted)}.firm-directory-toolbar>button{padding:9px 12px;border:0;border-radius:8px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}.firm-directory-head,.firm-directory-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 40px;gap:10px;align-items:center}.firm-directory-head{padding:0 8px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.firm-directory-row{padding:8px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.firm-directory-row input.firm-name{width:100%;padding:9px;border:1px solid #cbd7d2;border-radius:7px}.firm-directory-row label{display:flex;align-items:center;gap:6px;margin:0}.firm-directory-row .firm-active{width:auto}.firm-remove{width:32px;height:32px;border:1px solid #dfb7b2;border-radius:7px;background:#fff5f4;color:#9e372f;font-size:20px;cursor:pointer}@media(max-width:620px){.firm-directory-head{display:none}.firm-directory-row{grid-template-columns:minmax(0,1fr) 90px 36px}.firm-directory-toolbar{align-items:flex-start;flex-direction:column}}
.modal-card:has(.estimate-option-settings){width:min(900px,calc(100% - 30px))}.estimate-option-settings{display:grid;gap:10px}.estimate-option-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.estimate-option-toolbar strong,.estimate-option-toolbar small{display:block}.estimate-option-toolbar small{max-width:570px;margin-top:4px;color:var(--muted);line-height:1.4}.estimate-option-toolbar>div:last-child{display:flex;gap:7px}.estimate-option-toolbar button{padding:9px 12px;border:0;border-radius:8px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}.estimate-option-setting-head,.estimate-option-setting-row{display:grid;grid-template-columns:24px minmax(210px,1fr) 130px 100px 76px 36px;gap:9px;align-items:center}.estimate-option-setting-head{padding:7px 9px;background:#294d41;color:#fff;border-radius:8px 8px 0 0;font-size:10px;font-weight:850;text-transform:uppercase}.estimate-option-setting-row{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.estimate-option-setting-row input,.estimate-option-setting-row select{width:100%;margin:0!important;padding:8px!important;border:1px solid #cbd7d2;border-radius:7px;background:#fff}.estimate-option-setting-row input[readonly]{background:#edf3f0;color:#315f50;font-weight:850}.estimate-option-drag{color:#85938e;text-align:center}.estimate-option-active{display:flex!important;align-items:center;gap:6px;margin:0!important}.estimate-option-active input{width:auto!important}.estimate-option-order{display:flex;gap:4px}.estimate-option-order button,.estimate-option-remove{width:32px;height:32px;padding:0;border:1px solid #cad6d1;border-radius:7px;background:#fff;color:#315f50;cursor:pointer}.estimate-option-remove{border-color:#dfb7b2;color:#9e372f;font-size:18px}.estimate-option-order button:disabled,.estimate-option-remove:disabled{opacity:.35;cursor:not-allowed}@media(max-width:720px){.estimate-option-setting-head{display:none}.estimate-option-setting-row{grid-template-columns:24px minmax(0,1fr) 110px}.estimate-option-active,.estimate-option-order,.estimate-option-remove{grid-column:2/-1}.estimate-option-toolbar{flex-direction:column}}
.takeoff-catalog-add{position:relative;margin:12px 0 14px;padding:12px;border:1px solid #bdd2ca;border-radius:10px;background:#f3f8f6}.takeoff-catalog-add label{display:grid;gap:6px;font-weight:700}.takeoff-catalog-add input{width:100%;padding:10px 12px;border:1px solid #789b8f;border-radius:8px;background:#fff;font-size:14px}.takeoff-catalog-add>small{display:block;margin-top:6px;color:var(--muted)}.takeoff-catalog-results{position:absolute;z-index:8;left:12px;right:12px;top:70px;max-height:310px;overflow:auto;border:1px solid #8eaaa0;border-radius:9px;background:#fff;box-shadow:0 16px 38px #17211e33}.takeoff-catalog-result{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #e7eeeb;background:#fff;text-align:left;cursor:pointer}.takeoff-catalog-result:hover,.takeoff-catalog-result:focus{background:#e8f3ef;outline:0}.takeoff-catalog-result strong{color:var(--brand)}.takeoff-catalog-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34453f}.takeoff-catalog-result em{color:var(--brand);font-size:11px;font-style:normal;font-weight:700}.catalog-result-status{padding:14px;color:var(--muted)}
.catalog-refresh-summary{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;margin:12px 0;border:1px solid #bed4cb;border-radius:9px;background:#f1f8f5}.catalog-refresh-summary span{color:#5d6d67}.catalog-refresh-list{max-height:340px;overflow:auto;border:1px solid #d7dfdc;border-radius:9px}.catalog-refresh-list>div{display:grid;grid-template-columns:minmax(130px,.7fr) 1fr 1.2fr;gap:12px;align-items:center;padding:11px 13px;border-bottom:1px solid #e3e8e6}.catalog-refresh-list>div:last-child{border-bottom:0}.catalog-refresh-list em{grid-column:2/-1;color:#50645d;font-size:12px}.catalog-refresh-confirm{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;margin-top:14px;padding:12px;border-radius:8px;background:#fff8e7}.catalog-refresh-confirm input{width:auto!important;margin:0}@media(max-width:760px){.catalog-refresh-list>div{grid-template-columns:1fr}.catalog-refresh-list em{grid-column:auto}}
.catalog-reconnect-card{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:12px;align-items:center;margin:14px 0;padding:14px;border:1px solid #c9d8d2;border-radius:10px;background:#f7faf9}.catalog-reconnect-card>div{display:grid;gap:4px}.catalog-reconnect-card>strong{text-align:center;color:#39705e;font-size:22px}.catalog-reconnect-card small{color:#687a73;font-size:10px;font-weight:800;text-transform:uppercase}.catalog-reconnect-card span{color:#485a54;font-size:12px}.catalog-reconnect-card em{color:#27614d;font-size:11px;font-style:normal;font-weight:750}@media(max-width:650px){.catalog-reconnect-card{grid-template-columns:1fr}.catalog-reconnect-card>strong{transform:rotate(90deg)}}
.measurement-props{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 12px}.measurement-props>div{display:grid;gap:3px;padding:11px;border:1px solid #c9d9d2;border-radius:9px;background:#eff7f4}.measurement-props small{color:#60726b;font-size:10px;font-weight:800;text-transform:uppercase}.measurement-props strong{color:#173d31;font-size:16px}.drawer-stat.area-stat{border-color:#9bc5b5;background:#eaf6f1}.drawer-stat.area-stat b{color:#176044}

/* Deliberate, staff-only case deletion confirmation. */
.delete-case-confirm{display:grid;gap:14px}.delete-case-confirm label{display:grid;gap:7px;font-weight:800}.delete-case-confirm input{width:100%;padding:10px 12px;border:1px solid #cc8f88;border-radius:8px;background:#fff}.delete-warning{padding:14px;border:1px solid #e4aaa4;border-radius:10px;background:#fff4f3;color:#7d211a}.delete-warning strong{display:block;margin-bottom:5px}.delete-warning p{margin:0;color:#8b3932;line-height:1.45}.modal-help{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.finish-route{background:#2f725f!important;color:#fff!important;border-color:#2f725f!important;font-weight:800}.finish-route:disabled{opacity:.45;cursor:not-allowed}.finish-route:not(:disabled):hover{background:#245b4c!important}
.user-tool-hidden{display:none!important}
.user-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-check{display:flex!important;align-items:center;gap:9px;margin:12px 0!important}.settings-check input{width:auto!important;margin:0!important}
.user-toolbar-settings{margin:16px 0;padding:14px;border:1px solid #d5dfdb;border-radius:10px}.user-toolbar-settings legend{padding:0 6px;font-weight:800}.user-toolbar-settings label{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;margin:5px 16px 5px 0!important}.user-toolbar-settings input{width:auto!important;margin:0!important}
@media(max-width:700px){.user-settings-grid{grid-template-columns:1fr}}
.case-preview-kicker{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#39705f}.case-preview-copy{margin:8px 0 10px;color:#52625d;line-height:1.4}.record-attachments{display:grid;gap:10px}.record-attachment-list{display:grid;gap:7px}.record-attachment{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 11px;border:1px solid #d9e2de;border-radius:9px;background:#fff;color:#18372d;text-decoration:none}.record-attachment:hover{border-color:#60937f;background:#f5faf8}.record-attachment span{font-size:10px;font-weight:900;text-transform:uppercase;color:#39705f}.record-attachment small{color:#6a7773}.record-attachment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.record-attachment-actions button{background:#397b66;color:#fff;border-color:#397b66;font-weight:800}.record-attachment-actions small{color:#687671}
.stamp-library-editor {
  display: grid;
  gap: 10px;
}

/* Helix Plans ecosystem branding */
:root {
  --helix-cyan: #02a8e6;
  --helix-navy: #0b2641;
  --helix-navy-deep: #071827;
  --helix-cyan-soft: #e8f8fe;
  --brand: #02a8e6;
  --gold: #02a8e6;
}

html,
body,
button,
input,
select,
textarea {
  font-family: Montserrat, "Segoe UI", Arial, sans-serif;
}

.topbar {
  background: linear-gradient(135deg, var(--helix-navy-deep), var(--helix-navy) 62%, #103a5d);
  border-bottom: 1px solid #164a70;
}

.brandmark-image {
  width: 34px;
  height: 34px;
  object-fit: contain;
  padding: 2px;
  flex: 0 0 auto;
}

.login-gate {
  background: radial-gradient(circle at 25% 20%, #123f61, var(--helix-navy-deep) 62%);
}

.login-brand {
  align-items: flex-start;
  flex-direction: column;
}

.login-brand-logo {
  display: block;
  width: min(280px, 76vw);
  height: auto;
}

.login-brand-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.login-brand-copy small {
  color: var(--helix-navy);
  letter-spacing: .12em;
  font-size: 10px;
  font-weight: 800;
}

.login-brand-copy span {
  color: #55728d;
  font-size: 12px;
}

.primary,
.login-primary {
  background: var(--helix-cyan) !important;
  color: #fff;
}

.primary:hover,
.login-primary:hover {
  background: #008dcc !important;
}

.drawing-toolbar button.active {
  background: var(--helix-cyan-soft);
  border-color: #79d4f5;
  color: #087fb0;
}

.takeoff-legend{position:absolute;z-index:17;top:14px;right:14px;width:min(520px,calc(100% - 28px));max-height:calc(100% - 56px);overflow:hidden;display:flex;flex-direction:column;border:1px solid #aabbb5;border-radius:12px;background:#fffffff5;box-shadow:0 16px 42px #10231d42;backdrop-filter:blur(8px);color:#21302b;transform:scale(var(--takeoff-legend-scale,1));transform-origin:top left}.takeoff-legend header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:2px solid #315f50}.takeoff-legend-drag{cursor:move;user-select:none;touch-action:none}.takeoff-legend header small,.takeoff-legend header strong{display:block}.takeoff-legend header small{color:#6b7c75;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.takeoff-legend header strong{font-size:14px;margin-top:2px}.takeoff-legend-controls{display:flex;align-items:center;gap:4px}.takeoff-legend-controls output{min-width:35px;text-align:center;color:#50635c;font-size:9px;font-weight:800}.takeoff-legend header button{height:26px;min-width:26px;padding:0 6px;border:1px solid #cbd8d3;border-radius:6px;background:#fff;color:#2b4a40;font-size:13px;cursor:pointer}.takeoff-legend header button:last-child{border:0;background:transparent;font-size:22px}.takeoff-legend-head,.takeoff-legend-rows>button{display:grid;grid-template-columns:52px 54px minmax(130px,1fr) 92px;align-items:center}.takeoff-legend-head{padding:6px 10px;background:#f0f4f2;color:#667770;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.takeoff-legend-rows{overflow:auto}.takeoff-legend-rows>button{width:100%;min-height:48px;padding:7px 10px;border:0;border-top:1px solid #e0e7e4;background:#fff;text-align:left;color:#24332e;cursor:pointer}.takeoff-legend-rows>button:hover{background:#eaf4f0}.takeoff-legend-rows>button>b{font-size:13px;color:#174f3d}.takeoff-legend-rows>button span>strong,.takeoff-legend-rows>button span>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeoff-legend-rows>button span>strong{font-size:11px}.takeoff-legend-rows>button span>small{font-size:8px;color:#6e7d77;margin-top:2px}.takeoff-legend-rows>button em{font-size:9px;font-style:normal;color:#53665f}.takeoff-legend-symbol{width:42px;height:30px;display:grid;place-items:center}.takeoff-legend-symbol svg{width:28px;height:28px;overflow:visible}.takeoff-legend-line{display:block;width:38px;height:0;border-top:var(--legend-width) var(--legend-style) var(--legend-color)}.takeoff-legend-empty{padding:24px;text-align:center;color:#728079;font-size:11px}@media(max-width:700px){.takeoff-legend{top:8px;left:8px!important;width:calc(100% - 16px)}.takeoff-legend-head,.takeoff-legend-rows>button{grid-template-columns:44px 42px minmax(110px,1fr) 76px}.takeoff-legend-controls #takeoffLegendReset,.takeoff-legend-controls output{display:none}}

.right-tabs button.active {
  border-bottom-color: var(--helix-cyan);
  color: #087fb0;
}

.status-pill {
  background: var(--helix-cyan-soft);
  color: #086b94;
}

.topbar .tabs button.active {
  border-bottom-color: var(--helix-cyan);
  color: #fff;
}

.stamp-library-head,
.stamp-library-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 90px 105px 40px;
  gap: 10px;
  align-items: center;
}

.stamp-library-head {
  padding: 0 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.stamp-library-row {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.stamp-library-row input[type="text"] {
  min-width: 0;
}

.stamp-library-row input[type="color"] {
  width: 100%;
  min-height: 38px;
  padding: 3px;
}

.stamp-library-row .stamp-active {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin: 0;
}

.stamp-library-row .stamp-remove {
  width: 36px;
  min-width: 36px;
  padding: 7px;
}

@media (max-width: 760px) {
  .stamp-library-head {
    display: none;
  }

  .stamp-library-row {
    grid-template-columns: minmax(0, 1fr) 78px;
  }

  .stamp-library-row .stamp-active {
    grid-column: 1;
  }
}
.modal-card:has(.drawing-defaults-editor){width:min(980px,calc(100% - 30px))}
.drawing-defaults-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.drawing-defaults-editor>p{grid-column:1/-1;margin:0 0 4px;color:#60706a;line-height:1.45}
.drawing-defaults-editor fieldset{min-width:0;margin:0;padding:14px;border:1px solid #d5dfda;border-radius:12px;background:#fbfcfb}
.drawing-defaults-editor legend{padding:0 7px;font-weight:800;color:#20332c}
.drawing-default-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.drawing-default-grid label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#43534d}
.drawing-default-grid input,.drawing-default-grid select{width:100%;min-height:38px;border:1px solid #ccd7d2;border-radius:8px;background:#fff;padding:7px 9px;color:#1e2b27}
.drawing-default-grid input[type="color"]{padding:4px}
.drawing-default-grid .check-line{display:flex;align-items:center;gap:8px;align-self:end;min-height:38px}
.drawing-default-grid .check-line input{width:16px;min-height:16px;margin:0}
@media(max-width:760px){.drawing-defaults-editor,.drawing-default-grid{grid-template-columns:1fr}}
.topbar,.sync,.account-menu-wrap{overflow:visible}.account-menu-wrap{isolation:isolate}
.workspace-switch-button{height:30px;border:1px solid #ffffff24;background:#ffffff0b;color:#d9e5e0;border-radius:7px;padding:0 10px;cursor:pointer;font-size:11px;font-weight:700;white-space:nowrap}.workspace-switch-button:hover,.workspace-switch-button.active{background:#f7faf9;color:#17382f;border-color:#b7c9c2}.global-workspace .tabs,.global-workspace #editActiveProjectButton,.global-workspace #sharePlanButton,.global-workspace .sync>.dot,.global-workspace #saveLabel{display:none!important}.global-workspace .brand{min-width:245px}.global-workspace .sync{margin-left:auto}
.case-line-snip-actions{grid-column:2/-1;display:flex;align-items:center;gap:8px}.case-line-snip-actions button{border:1px solid #b9ccc5;border-radius:7px;padding:6px 9px;background:#fff;color:#285a49;font-weight:750;cursor:pointer}.case-line-snip-actions span{color:var(--muted);font-size:10px}.case-line-snips{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:4px}.case-line-snips figure{margin:0;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}.case-line-snips figure>span{display:block;margin-bottom:5px;color:#315f50;font-size:9px;font-weight:800;text-transform:uppercase}.case-line-snips .case-snapshot{height:120px}.case-line-snips figcaption{padding-top:5px;color:var(--muted);font-size:10px}
.fabrication-record-summary{display:flex;gap:10px;align-items:center;padding:12px 14px;margin-bottom:14px;background:#eef5f1;border:1px solid #d3e0d9;border-radius:9px}.fabrication-record-summary span{color:#596a62}.fabrication-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.fabrication-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#46574f}.fabrication-form-grid input,.fabrication-form-grid select,.fabrication-form-grid textarea{width:100%;padding:9px 10px;border:1px solid #cbd6d0;border-radius:7px;background:#fff;font:inherit;color:#17241f}.fabrication-form-grid textarea{min-height:82px;resize:vertical}.fabrication-form-grid .fabrication-wide{grid-column:1/-1}.fabrication-form-grid .fabrication-apply{grid-column:1/-1;display:flex;flex-direction:row;align-items:center}.fabrication-form-grid .fabrication-apply input{width:auto}.fabrication-snip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.fabrication-snip-grid figure{margin:0;border:1px solid #d4ddd8;border-radius:8px;overflow:hidden;background:#fff}.fabrication-snip-grid img{display:block;width:100%;height:150px;object-fit:contain;background:#eef1ef}.fabrication-snip-grid figcaption{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px}.fabrication-snip-grid button{border:0;background:transparent;color:#a13c31}.fabrication-empty{padding:20px;border:1px dashed #cbd5d0;border-radius:8px;color:#68776f;text-align:center}.fabrication-record-actions{display:flex;justify-content:flex-end;margin-top:14px}.fabrication-record-actions button,#fabSnipButton{padding:8px 12px;border:1px solid #adc0b7;border-radius:7px;background:#fff;color:#244b3d;font-weight:700}.fabrication-report-table tbody tr{cursor:pointer}.fabrication-status{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e8f0ec;color:#315b4c;font-size:11px;font-weight:700;text-transform:capitalize}@media(max-width:900px){.fabrication-form-grid{grid-template-columns:1fr}}
.site-plan-choice-list{display:grid;gap:10px;max-height:min(58vh,620px);overflow:auto;margin-top:14px;padding-right:4px}.site-plan-choice{display:grid;grid-template-columns:auto 76px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid #d8e0dc;border-radius:10px;background:#fff;cursor:pointer}.site-plan-choice:hover{border-color:#3b7a67;background:#f5faf7}.site-plan-choice.is-locked{background:#f3f6f4;cursor:not-allowed}.site-plan-choice img{width:76px;height:54px;object-fit:contain;border:1px solid #e1e5e3;background:#fff}.site-plan-choice span{display:grid;gap:3px;min-width:0}.site-plan-choice strong,.site-plan-choice small,.site-plan-choice em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-plan-choice small{color:#64736c}.site-plan-choice em,.site-plan-lock-note{color:#7a5a12;font-size:12px;font-style:normal}.site-plan-lock-note{margin:6px 0 0;padding:8px 10px;border-radius:7px;background:#fff7df;border:1px solid #ead49a}
.marker-chooser-modal{width:min(760px,calc(100% - 30px));max-height:min(760px,calc(100vh - 30px));overflow:auto}.marker-chooser-head,.marker-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.marker-chooser-head strong,.marker-manager-head strong{display:block;font-size:14px}.marker-chooser-head small,.marker-manager-head small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.marker-chooser-head button,.marker-manager-head button,.marker-manager-grid button{border:1px solid #d4dfdb;border-radius:8px;background:#fff;padding:8px 10px;color:#294039;cursor:pointer}.marker-chooser-filters{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:9px;margin:16px 0 12px}.marker-chooser-filters input,.marker-chooser-filters select{margin:0!important}.marker-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;padding:2px}.marker-choice{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;border:1px solid #dce4e1;border-radius:9px;background:#fff;padding:7px;text-align:left;cursor:pointer}.marker-choice:hover{background:#f2f7f5}.marker-choice.active{border-color:#397963;background:#e8f2ee;box-shadow:0 0 0 2px #39796320}.marker-choice svg{width:40px;height:40px}.marker-choice span,.marker-choice strong,.marker-choice small{display:block;min-width:0}.marker-choice strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marker-choice small{margin-top:2px;color:#77867f;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marker-count-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px;padding-top:13px;border-top:1px solid #e2e9e6}.marker-count-settings label{margin:0!important}.marker-count-settings label>span{display:grid;grid-template-columns:1fr 35px;align-items:center;gap:8px;margin-top:5px}.marker-count-settings input[type=range]{margin:0!important}.marker-count-settings output{text-align:right;font-weight:800}.marker-manager-modal{width:min(680px,calc(100% - 30px));max-height:min(760px,calc(100vh - 30px));overflow:auto}.marker-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.marker-manager-grid article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #dce4e1;border-radius:9px}.marker-manager-grid svg{width:42px;height:42px}.marker-manager-grid strong,.marker-manager-grid small{display:block}.marker-manager-grid strong{font-size:11px}.marker-manager-grid small{margin-top:2px;color:var(--muted);font-size:9px}@media(max-width:620px){.marker-choice-grid{grid-template-columns:1fr 1fr}.marker-count-settings,.marker-manager-grid{grid-template-columns:1fr}.marker-chooser-filters{grid-template-columns:1fr}.marker-chooser-head{display:block}.marker-chooser-head>div:last-child{margin-top:10px}}
/* Helix Plans loading workspace */
.project-loading-overlay{background:rgba(11,38,65,.92);font-family:"Montserrat",Arial,sans-serif}
.project-loading-card{border-top:4px solid #02a8e6;box-shadow:0 24px 70px rgba(2,16,30,.36)}
.project-loading-brand>img{width:46px;height:46px;box-sizing:border-box;object-fit:contain;border-radius:10px;background:#0b2641;padding:7px}
.project-loading-brand small{color:#02a8e6;letter-spacing:.11em}
.project-loading-brand strong,.project-loading-status strong,.project-loading-status span{color:#0b2641}
.project-loading-progress>div{background:linear-gradient(90deg,#02a8e6,#0b7fc2)}
.project-loading-diagnostics>div{border-color:rgba(11,38,65,.12);background:#f5f9fc}
.project-loading-diagnostics span{color:#0b7fc2}
.project-loading-log{border-color:rgba(11,38,65,.14)}
.sync.sync-error>.dot{background:#dc5a4d;box-shadow:0 0 0 3px #dc5a4d24}
.sync.sync-pending>.dot{background:#d6a33b;box-shadow:0 0 0 3px #d6a33b24}
.sync.sync-ok>.dot{background:#47c980;box-shadow:0 0 0 3px #47c98018}
.sync.sync-error #saveLabel{color:#f3a79f}
.sync.sync-pending #saveLabel{color:#e8cf97}
.takeoff-legend-marker{display:block;width:18px;height:18px;border:4px solid var(--legend-color);border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #fff}
.estimate-item-edit-wrap{display:flex;align-items:center;gap:4px}.estimate-item-edit-wrap .estimate-item-input{width:82px}.estimate-component-edit{height:19px;min-width:24px;padding:0 5px;border:1px solid #9eb5ad;border-radius:3px;background:#edf5f2;color:#173f35;font-size:10px;font-weight:800;cursor:pointer}.estimate-component-edit:hover{background:#fff}.estimate-component-edit:disabled{cursor:not-allowed;opacity:.45}.estimate-component-modal .takeoff-row{margin:0}.estimate-component-modal .takeoff-row-head .to-remove,.estimate-component-modal .takeoff-row-head .to-duplicate{display:none}
.viewer.case-snapshot #markupLayer,.viewer.case-snapshot #commentLayer,.viewer.case-snapshot #statusLayer,.viewer.case-snapshot #selectionLayer{pointer-events:none}
.snapshot-capture-bar{position:fixed;z-index:1200;left:50%;top:88px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:min(680px,calc(100vw - 32px));padding:12px 14px 12px 18px;border:1px solid #72bddb;border-radius:12px;background:#0b2641f2;color:#fff;box-shadow:0 12px 32px #071a2c45;backdrop-filter:blur(8px)}
.snapshot-capture-bar.hidden{display:none}.snapshot-capture-bar div:first-child{display:grid;gap:2px}.snapshot-capture-bar strong{font-size:14px}.snapshot-capture-bar span{color:#d9f2fc;font-size:12px}.snapshot-capture-bar div:last-child{display:flex;gap:8px}.snapshot-capture-bar button{min-width:78px;border:1px solid #a9cedd;border-radius:7px;padding:8px 12px;background:#fff;color:#0b2641;font-weight:800}.snapshot-capture-bar button.primary{border-color:#02a8e6;background:#02a8e6;color:#fff}
.takeoff-line-group{margin:4px 6px;border:1px solid #bfd0c9;border-radius:7px;background:#f5faf8}.takeoff-line-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;cursor:pointer;color:#173f35}.takeoff-line-group>summary span{font-size:11px;color:#66766f}.takeoff-line-group-items{border-top:1px solid #d8e3de}.takeoff-line-group-items .object-row{margin:0;border-radius:0}.takeoff-line-group-controls{display:flex;gap:3px}.takeoff-line-group-controls button{padding:2px 5px;border:1px solid #b8cbc3;border-radius:4px;background:#fff;color:#173f35;font-size:9px;font-weight:700}
