@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1e3340;--muted:#607078;--line:#dce2e4;--bg:#f4f6f7;--accent:#d9f076;--white:#fff;--nav:#203746;--blue:#30596c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'DM Sans',Arial,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 15px;color:var(--ink);font-weight:600}button:hover{border-color:#8297a1}button.primary{background:var(--nav);color:white;border-color:var(--nav)}button.lime{background:var(--accent);border-color:var(--accent)}button.text{padding:0;border:0;background:none;color:var(--blue)}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--blue)}.top{height:78px;display:flex;align-items:center;gap:25px;padding:0 32px;background:white;border-bottom:1px solid var(--line)}.logo{font-family:Manrope,sans-serif;font-size:34px;font-weight:800;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.mark{display:inline-block;background:var(--ink);color:var(--accent);border-radius:8px;width:36px;text-align:center;line-height:36px;margin-right:8px;vertical-align:3px;font-size:35px}.logo-dot{color:#8ca740}.edition{font-size:12px;letter-spacing:1.7px;color:var(--muted)}nav{display:flex;gap:8px;margin-left:auto}nav button{border:0;background:transparent;color:var(--muted);font-size:14px}nav button.active{background:#eaf0f3;color:var(--ink)}.avatar{border:1px solid var(--line);border-radius:50%;padding:10px;font-size:13px}.demo-bar{display:flex;gap:14px;align-items:center;background:#eaf0e4;padding:9px 32px;font-size:13px;color:#465343}.demo-bar span{font-weight:700;letter-spacing:1px;font-size:11px}.demo-bar button{margin-left:auto;font-size:12px;padding:4px 10px;background:transparent;border-color:#bccbb4}.page-head{padding:27px 32px 22px;display:flex;align-items:center;gap:20px;justify-content:space-between}.eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:700;color:var(--muted);text-transform:uppercase}h1,h2,h3{font-family:Manrope,Arial,sans-serif;margin:0}h1{font-size:27px;letter-spacing:-.8px;margin-top:6px}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:16px}p{line-height:1.5}.muted,.help{color:var(--muted)}.help{font-size:13px;line-height:1.5;margin:8px 0 0}.workspace{display:grid;grid-template-columns:285px minmax(360px,1fr) 290px;gap:20px;padding:0 32px 32px;align-items:start}.panel{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.panel-body{padding:20px}.panel-title{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-title span{font-size:12px;color:var(--muted)}.system{display:block;text-align:left;width:100%;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:20px;position:relative}.system.selected{background:#eef3e4;box-shadow:inset 4px 0 #829c3d}.system .brand{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:7px}.system strong{display:block;font-family:Manrope,sans-serif;font-size:19px}.system small{display:block;font-size:13px;color:var(--muted);margin-top:7px;font-weight:400}.check{position:absolute;right:17px;top:20px;color:#597122}.layers{padding:10px 20px}.layer{padding:13px 0;border-bottom:1px solid #edf0f1;display:flex;gap:12px}.layer:last-child{border:0}.layer b{font-size:13px;border:1px solid #dae2e6;border-radius:50%;height:25px;min-width:25px;text-align:center;line-height:24px}.layer strong{font-size:14px;display:block}.layer span{font-size:13px;display:block;color:var(--muted);margin-top:3px}.photo{height:360px;position:relative;background:#e0e7e9;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;left:15px;bottom:15px;background:#ffffffed;padding:7px 12px;border-radius:5px;font-size:12px}.photo .photo-action{position:absolute;top:15px;right:15px;padding:8px 12px;font-size:13px;background:#fffffff0}.photo-caption{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.pill{font-size:12px;background:#edf1f3;border-radius:20px;padding:6px 10px;white-space:nowrap}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.metric{padding:17px 20px;border-right:1px solid var(--line)}.metric:last-child{border-right:0}.metric strong{display:block;font-size:24px;font-family:Manrope,sans-serif;font-weight:700}.metric span{font-size:12px;color:var(--muted)}.stack{display:grid;gap:20px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fields.two{grid-template-columns:repeat(2,1fr)}label{display:block;font-size:14px;font-weight:500}input,select,textarea{width:100%;border:1px solid #cad4d9;border-radius:6px;padding:10px 11px;margin-top:6px;background:white;color:var(--ink);min-width:0}input[type=checkbox]{width:auto;margin:0 8px 0 0;accent-color:var(--ink)}textarea{resize:vertical;min-height:100px}.summary{background:var(--nav);color:white;border-color:var(--nav)}.summary .eyebrow{color:#b9cad3}.summary .price{font-family:Manrope,sans-serif;font-size:34px;font-weight:700;letter-spacing:-1px;margin:12px 0 4px}.summary .help{color:#c2d0d7}.cost-row{display:flex;justify-content:space-between;gap:15px;margin:15px 0;font-size:14px}.summary hr{border:0;border-top:1px solid #ffffff2b;margin:20px 0}.summary input{background:#314b5b;color:white;border-color:#5a7280}.summary button{width:100%;margin-top:17px}.profit{color:var(--accent)}.summary small{font-size:12px;color:#b9cad3}.note{padding:15px;border-radius:8px;background:#f0f4e9;color:#475334;font-size:14px;line-height:1.5}.note.amber{background:#fff4de;color:#795725}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section{max-width:1300px;margin:0 auto;padding:0 32px 32px}.estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.5px;background:#f3f6f7;color:var(--muted);padding:14px}td{padding:14px;border-top:1px solid var(--line);vertical-align:middle}td small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.num{text-align:right;white-space:nowrap}td input{width:85px;margin:0;padding:8px}.total-row{font-weight:700;background:#f4f7ef}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:22px;border:1px solid var(--line);border-radius:10px;background:white}.card.selected{border-color:#8ba345;background:#f6f9ef}.card-price{font-size:27px;font-weight:700;margin:14px 0}.proposal-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:25px}.paper{background:white;padding:40px 46px;border:1px solid var(--line);border-radius:8px}.paper-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:24px;margin-bottom:24px}.paper h1{font-size:31px}.paper h2{margin:24px 0 10px}.paper .scope{white-space:pre-line;line-height:1.65;font-size:15px}.paper ul{padding-left:20px;font-size:14px;line-height:1.7}.paper-photo{width:100%;max-height:270px;object-fit:cover;border-radius:6px;margin-top:20px}.reference-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.reference-list h3{margin:8px 0}.reference-list p{font-size:14px}.full{grid-column:1/-1}.validation{color:#9e3b29;font-size:14px;padding:15px;background:#fff0ec;border-radius:8px}.section-gap{margin-top:20px}details{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}summary{cursor:pointer;font-size:14px;font-weight:600}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--nav);color:white;max-width:90%;padding:13px 20px;border-radius:8px;box-shadow:0 6px 30px #0003;display:none;z-index:10}#toast.show{display:block}.search-row{display:flex;gap:10px}.search-row input{margin:0}.photo-upload{display:none}.status-list{font-size:14px;padding-left:20px;line-height:1.8}.small-link{font-size:13px}.cost-total{font-size:21px;font-weight:700}.print-only{display:none}@media(min-width:1500px){.photo{height:430px}.workspace{grid-template-columns:310px minmax(400px,1fr) 310px}}@media(max-width:1150px){.workspace{grid-template-columns:240px minmax(330px,1fr)}.workspace>.summary-stack{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}.edition{display:none}.photo{height:330px}.estimate-layout{grid-template-columns:minmax(0,1fr) 265px}}@media(max-width:760px){.top{height:auto;padding:15px 18px;flex-wrap:wrap;gap:10px}.logo{font-size:29px}.avatar{margin-left:auto}nav{order:3;width:100%;margin:0;justify-content:space-between;gap:0}nav button{padding:10px;font-size:14px}.demo-bar{padding:9px 18px;font-size:12px;flex-wrap:wrap;gap:6px}.demo-bar span{display:none}.page-head{padding:22px 18px;align-items:flex-start}h1{font-size:23px}.workspace{display:flex;flex-direction:column;padding:0 18px 24px;gap:16px}.workspace>*{width:100%}.workspace>.stack{order:-1}.workspace>.summary-stack{display:block}.summary-stack .panel{margin-bottom:16px}.photo{height:300px}.system{padding:16px}.fields{grid-template-columns:repeat(2,1fr)}.section{padding:0 18px 24px}.estimate-layout,.proposal-layout{grid-template-columns:1fr}.card-grid,.reference-list{grid-template-columns:1fr}.paper{padding:24px 20px}.paper-head{gap:15px;flex-wrap:wrap}.page-head .actions{justify-content:flex-end}.metric{padding:14px}.metric strong{font-size:21px}.photo-caption{flex-wrap:wrap}.search-row{flex-wrap:wrap}.search-row button{width:100%}.print-only{display:none}}@media print{body{background:white;font-size:12pt}.top,.demo-bar,.page-head,.proposal-settings,#toast,.no-print{display:none!important}.section,.paper{padding:0;border:0}.proposal-layout{display:block}.paper h1{font-size:24pt}.paper h2{break-after:avoid}.paper .card,.paper-photo{break-inside:avoid}.card-grid{grid-template-columns:repeat(3,1fr)}.paper .card{padding:12px}.card-price{font-size:18px}.print-only{display:block}@page{margin:15mm}}

.additions{background:#f4efff;border-color:#cdbde9}.additions .panel-title{background:#eae0fb;border-color:#cdbde9}.additions .panel-title span{color:#614284}.additional-row{background:#f4efff}

.map-tools{margin-top:12px}.map-tools button{background:var(--nav);color:#fff;border-color:var(--nav)}.map-panel{border:1px solid var(--line);border-radius:9px;margin-top:14px;padding:14px;background:#f8fafb}.map-panel details{margin:0;padding:0;border:0}.map-token-label{margin-top:12px}.map-token-label input{font-family:monospace}.map-panel details button{margin-top:10px}.map-search{display:flex;align-items:center;gap:12px;margin:12px 0}.map-search .help{margin:0}.map-results{display:grid;gap:5px;margin-bottom:8px}.map-results button{text-align:left;font-size:14px}#roof-map{height:360px;width:100%;background:#dce5e8;border-radius:7px;overflow:hidden}.map-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.map-bottom .help{margin:0}.map-panel .mapboxgl-control-container button{padding:0}@media(max-width:760px){#roof-map{height:315px}.map-search,.map-bottom{align-items:stretch;flex-direction:column}.map-bottom button{width:100%}}
.address-field{position:relative}.address-suggestions{position:absolute;left:0;right:0;top:100%;z-index:15;background:white;box-shadow:0 10px 25px #1028362c;border-radius:0 0 8px 8px;max-height:260px;overflow:auto}.address-suggestions:empty{display:none}.address-suggestions button{display:block;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;width:100%;padding:12px 14px;font-size:14px;font-weight:500}.address-suggestions button:hover,.address-suggestions button.active{background:#eaf0f3}
.facility-finder,.rental-planner{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:9px;background:#f7f9fa}.facility-finder button{margin-top:12px}.facility-status{font-size:14px;color:var(--muted);margin-top:10px}.facility-list{margin-top:12px;display:grid;gap:8px}.facility-item{background:white;border:1px solid var(--line);border-radius:7px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:14px}.facility-item strong,.facility-item span,.facility-item small{display:block}.facility-item span{color:var(--muted);font-size:14px;margin-top:4px}.facility-item small{color:var(--muted);font-size:12px;margin-top:3px}.facility-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.facility-actions a{font-size:13px}.facility-actions button{margin:0;padding:7px 9px;font-size:13px;white-space:nowrap}.rental-planner{background:#f1f4ed}.rental-planner h3{margin-bottom:5px}@media(max-width:760px){.facility-item{align-items:stretch;flex-direction:column}.facility-actions{justify-content:flex-start}}
.roof-workspace{border-top:1px solid var(--line)}.roof-viewport{height:360px;position:relative;overflow:hidden;background:#e6edf0}.roof-viewport>img{width:100%;height:100%;object-fit:contain}.roof-canvas{height:100%;width:100%;touch-action:none}.roof-overlay{position:absolute;bottom:14px;left:14px;max-width:calc(100% - 28px);padding:8px 12px;border-radius:6px;background:#ffffffeb;font-size:13px;color:var(--ink)}.roof-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px}.roof-empty h3{font-size:19px}.roof-empty p{max-width:380px;color:var(--muted);margin:10px 0 0}.roof-placeholder{color:#859a56;font-size:54px;line-height:1;margin-bottom:14px}.roof-workspace-controls{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px}.roof-workspace-controls strong{font-family:Manrope,sans-serif}.roof-workspace-controls .help{font-size:13px}.roof-upload-actions{padding:0 20px 16px;display:flex;flex-wrap:wrap;gap:9px}.roof-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:0 20px 12px}.roof-thumbnails button{padding:2px;min-width:62px;height:58px;border-radius:6px}.roof-thumbnails button[aria-pressed="true"]{border:2px solid var(--ink)}.roof-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:3px}.roof-report{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f2f5f6;border-top:1px solid var(--line);padding:12px 20px;font-size:14px}.roof-report strong{overflow-wrap:anywhere}.roof-guidance{padding:0 20px 17px!important;margin:0!important}.proposal-roof-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.proposal-roof-photos .paper-photo{margin:0;max-width:100%}@media(max-width:760px){.roof-viewport{height:300px}.roof-workspace-controls{align-items:flex-start;flex-direction:column}.roof-upload-actions button{flex:1 1 190px}}
.roof-viewport.report-preview{height:540px}.roof-pdf-preview{width:100%;height:100%;border:0;background:#fff}.roof-view-tabs,.roof-report-pages{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.roof-view-tabs button,.roof-report-pages button{padding:7px 10px;font-size:13px}.roof-view-tabs button[aria-pressed="true"],.roof-report-pages button[aria-pressed="true"]{background:var(--nav);border-color:var(--nav);color:#fff}.roof-report-pages{padding:0 20px 15px}.roof-report-pages>span:first-child{font-size:13px;color:var(--muted)}.roof-report-pages .help{margin:0 0 0 4px}@media(max-width:760px){.roof-viewport.report-preview{height:430px}}
.roof-report-warning{margin:0 20px 16px;font-size:14px}
.trace-planner{margin-top:14px;padding:16px;background:#f2f6ec;border:1px solid #d6dfc7;border-radius:8px}.trace-planner strong{font-family:Manrope,sans-serif}.trace-fields{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.trace-fields label{flex:1 1 160px;font-size:14px}.trace-fields select,.trace-fields input{width:100%;margin-top:5px}.trace-actions{display:flex;flex-wrap:wrap;gap:8px}.trace-actions button:first-child{background:var(--nav);border-color:var(--nav);color:#fff}.trace-actions button{font-size:13px;padding:8px 10px}.trace-planner #trace-status{font-size:14px;margin-top:12px}

@media(max-width:760px){nav{overflow-x:auto;justify-content:flex-start}nav button{white-space:nowrap;flex:0 0 auto}}

/* Clear estimating workspace */
:root{--ink:#182b3a;--muted:#536575;--line:#d8e1e8;--bg:#f5f8fa;--accent:#e4f4a6;--nav:#142d41;--blue:#125780}
body{background:var(--bg);color:var(--ink)}
.top{min-height:72px;height:auto;padding:12px clamp(18px,3vw,44px);gap:20px;box-shadow:0 1px 4px #152e4010}
.logo{font-size:30px;white-space:nowrap}.mark{width:34px;line-height:34px;font-size:31px}
nav{gap:2px}nav button{white-space:nowrap;padding:11px 12px;border-radius:8px}
nav button.active{background:#eaf3f7;color:#123e59}
.demo-bar{background:#e9f2f7;color:#294959;padding:11px clamp(18px,3vw,44px);line-height:1.5;gap:12px}
.demo-bar span{color:#174b66;white-space:nowrap}.demo-bar button{white-space:nowrap;border-color:#9dbac9;color:#174b66}
.page-head{padding:28px clamp(18px,3vw,44px) 20px}h1{font-size:clamp(24px,2.4vw,32px)}
.workspace{padding:0 clamp(18px,3vw,44px) 40px;grid-template-columns:minmax(230px,265px) minmax(0,1fr) minmax(245px,280px);gap:16px}
.panel{border-radius:10px;box-shadow:0 2px 10px #1d35400a}
.panel-body{padding:20px}.panel-title{padding:16px 20px}
button{border-radius:8px;min-height:42px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #2f80a8;outline-offset:2px}
input,select,textarea{min-height:44px;border-radius:8px}
.help{font-size:14px;line-height:1.55}.system.selected{background:#edf6fa;box-shadow:inset 4px 0 #1f6685}.check{color:#1c627b}
.summary{position:sticky;top:16px}.summary .price{font-size:clamp(28px,2.5vw,36px)}.summary .eyebrow{color:#dae8ef}
.additions{background:#f2f7fa;border-color:#d8e1e8}.additions .panel-title{background:#eaf3f7;border-color:#d8e1e8}.additions .panel-title span{color:var(--muted)}.additional-row{background:#f2f7fa}
.roof-empty{background:#eef4f7}.roof-placeholder{color:#6f8c9b}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(220px,260px) minmax(0,1fr)}.workspace>.summary-stack{grid-column:1/-1}.summary{position:static}}
@media(max-width:760px){.top{padding:12px 16px}.top nav{overflow-x:auto;justify-content:flex-start;padding-bottom:2px}.top nav button{font-size:14px;min-width:max-content}.edition{display:none}.avatar{margin-left:auto}.demo-bar{padding:10px 16px}.demo-bar button{margin-left:0}.page-head{padding:22px 16px 16px;display:block}.page-head .actions{justify-content:flex-start;margin-top:14px}.workspace{display:flex;flex-direction:column;padding:0 16px 28px}.workspace>.stack{order:0}.workspace>.summary-stack{order:1}.workspace>aside:first-child{order:2}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:12px 10px}.metric strong{font-size:20px}.metric span{font-size:12px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-viewport{height:300px}}
@media(max-width:390px){.fields,.fields.two{grid-template-columns:1fr}.metric strong{font-size:18px}}

.stockton-demo{max-width:1500px}
.stockton-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px}
.stockton-grid h3{margin-bottom:12px}
.stockton-3d{height:420px;width:100%;border-radius:9px;overflow:hidden;touch-action:none;background:#e6edf0}
.stockton-plan{display:block;margin-top:12px}
.stockton-plan img{display:block;width:100%;max-height:350px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#f4f6f8}
.stockton-pitches{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
.stockton-pitches>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.stockton-pitches span{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#f7fafb;font-size:14px}
.stockton-pitches strong{margin-right:8px}
.stockton-demo table td:nth-child(2){font-weight:700;min-width:170px}
.stockton-demo table td:nth-child(3){max-width:370px}
@media(max-width:760px){.stockton-grid{grid-template-columns:1fr}.stockton-3d{height:320px}.stockton-demo table{min-width:700px}}

.roof-upload-actions .upload-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 15px;min-height:44px;font-size:14px;font-weight:700;cursor:pointer;overflow:hidden}
.roof-upload-actions .upload-picker:focus-within{outline:3px solid #2f80a8;outline-offset:2px}
.roof-upload-actions .upload-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.upload-status{padding:0 20px 16px!important;margin:0!important;min-height:38px}
.roof-document{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:8px;background:#eef4f7}
.roof-document p{max-width:90%;overflow-wrap:anywhere;color:var(--muted);margin:0}
.roof-document a{font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.scope-choice{margin-top:16px;border:1px solid var(--line);border-radius:9px;padding:14px}
.scope-choice legend{font-weight:700;padding:0 5px}
.scope-choice label{display:flex;align-items:center;gap:8px;min-height:42px;font-size:15px}
.scope-choice input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--blue)}
.scope-whole{padding:13px 16px;margin-top:12px;background:#eaf3f7;border-radius:8px;font-size:14px}
.trace-form-options{border:0;margin:12px 0;padding:0}
.trace-form-options summary{color:var(--blue)}
@media(max-width:760px){.roof-upload-actions .upload-picker{flex:1 1 190px}.roof-viewport.report-preview{height:300px}.trace-actions button{flex:1 1 145px;min-height:44px}}

.report-tools{padding:20px;border-top:1px solid var(--line)}.report-tools h3{margin-bottom:12px}.report-tools .actions{flex-wrap:wrap;align-items:end}.report-tools .actions label{max-width:110px}.diagram-editor{position:relative;margin-top:12px;line-height:0}.diagram-editor img{width:100%;height:auto;display:block;cursor:crosshair}.diagram-editor svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.report-tools .help{font-size:14px}.roof-report a{white-space:nowrap}

.roof-canvas,.stockton-3d{position:relative}.viewer-controls{position:absolute;top:12px;left:12px;display:flex;gap:5px;flex-wrap:wrap}.viewer-controls button{font-size:14px;min-height:44px;background:#fffffff0;padding:6px 12px}

.measurement-results{padding:20px;border-top:1px solid var(--line)}.measurement-results h3{margin-bottom:12px}.measurement-results table td,.measurement-results table th{font-size:14px}.measurement-note{background:#edf4ed}.scope-controls select{width:100%}.scope-controls .help,.measurement-results .help{font-size:14px}
#lidar-pilot table{min-width:0;width:100%}#lidar-pilot th{font-size:14px;text-transform:none;letter-spacing:normal;white-space:normal;width:60%}#lidar-pilot td{font-size:14px;white-space:normal}#lidar-pilot summary{cursor:pointer;font-weight:600;min-height:44px;padding:12px 0}
.report-reference{max-width:1180px;margin:24px auto}.report-reference .panel-title p{margin:6px 0 0;font-size:14px;color:var(--muted)}.report-reference-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.report-reference-layout>div{min-width:0}.report-render{height:460px;background:#edf1f3}.report-reference .fields.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-reference .table-wrap{width:100%;overflow:auto}.report-reference table{font-size:14px}.report-reference td,.report-reference th{white-space:nowrap}.report-plane-picks{display:flex;gap:7px;flex-wrap:wrap}.report-plane-picks button[aria-pressed="true"]{background:#203746;color:white;border-color:#203746}.report-comparison{border-top:1px solid var(--line);padding-top:18px}.report-reference .actions{display:flex;gap:8px;flex-wrap:wrap}.report-reference details{margin-top:16px}.report-reference li{margin:8px 0}.report-reference select{width:100%}@media(max-width:780px){.report-reference{margin:16px 12px}.report-reference-layout{grid-template-columns:1fr}.report-render{height:350px}.report-reference .fields.three{grid-template-columns:1fr}.report-reference .panel-title{align-items:flex-start;flex-direction:column;gap:8px}.report-reference .panel-body{padding:18px}}

.exterior-concept{max-width:1180px;margin:24px auto}.concept-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.concept-fields label{min-width:0}.concept-fields input,.concept-fields select{width:100%}.concept-fields input[type=color]{height:44px;padding:4px}.exterior-concept .actions{display:flex;gap:8px;flex-wrap:wrap}.concept-openings fieldset{margin-top:16px;border:1px solid var(--line);padding:16px}.concept-openings legend{text-transform:capitalize}.exterior-concept [hidden]{display:none}@media(max-width:780px){.exterior-concept{margin:16px 12px}.concept-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

body:not(.reviewer-mode) .top nav button:not([data-view="home"]),body:not(.reviewer-mode) #reset{display:none}.top nav a{font-size:14px;padding:10px 12px;color:inherit;text-decoration:none}

.measurement-provenance{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:0 0 16px}.measurement-provenance>div{min-width:0}.measurement-provenance dt{font-size:14px;color:var(--muted)}.measurement-provenance dd{margin:4px 0 0;overflow-wrap:anywhere}
