.roof-planner{padding-block:45px 70px}.roof-hero{max-width:830px;margin-bottom:32px}.roof-hero h1{font-size:clamp(32px,5vw,60px);line-height:1.06;margin:10px 0 20px}.roof-hero>p:not(.eyebrow){font-size:19px;line-height:1.6}.roof-prototype{display:inline-block;margin-top:10px;background:#fff1e3;border:1px solid #efcdaa;border-radius:99px;padding:7px 14px;font-size:13px;color:#83480c}.roof-search,.roof-map-section,.roof-settings,.roof-energy{border:1px solid #d9dfe4;border-radius:20px;padding:24px;background:#fff}.roof-planner h2{font-size:24px;line-height:1.25;margin:0 0 18px}.roof-search>div{display:flex;gap:12px;margin-top:10px}.roof-planner input,.roof-planner select{width:100%;min-width:0;border:1px solid #bac5ce;border-radius:9px;min-height:48px;padding:10px 12px;background:#fff;color:#18232f;font:inherit}.roof-search input{flex:1}.roof-search .button{flex-shrink:0}.roof-planner .fine{font-size:13px;line-height:1.55;color:#586573;margin:14px 0 0}.roof-status{min-height:24px;margin:16px 0;color:#794716}.roof-candidates{display:grid;gap:8px;margin-bottom:20px}.roof-candidates button{padding:13px 16px;border:1px solid #cbd4dd;border-radius:10px;background:#f4f6f8;text-align:left;font:inherit;cursor:pointer}.roof-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.roof-map-section{min-width:0}.roof-map{position:relative;width:100%;aspect-ratio:4/3;background:#e9edf0;border:1px solid #c5ced6;border-radius:12px;overflow:hidden;margin:18px 0 12px}.roof-map>img,.roof-map>svg{position:absolute;width:100%;height:100%;inset:0;object-fit:fill}.roof-map>svg{touch-action:pan-y;outline-offset:-4px}.roof-map-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#536676;padding:30px;line-height:1.5}.roof-map-empty[hidden],.roof-map [hidden]{display:none}.roof-north{position:absolute;top:12px;left:12px;background:#fff;padding:5px 8px;border-radius:7px;pointer-events:none;font-weight:700}.roof-scale{position:absolute;bottom:32px;left:12px;border-bottom:3px solid white;color:#fff;text-shadow:0 1px 3px black;width:25%;text-align:center;font-size:12px;pointer-events:none}.roof-attribution{position:absolute;bottom:0;right:0;left:0;background:#fffdf0e8;padding:5px 8px;font-size:11px;line-height:1.2}.roof-map-controls,.roof-draw-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.roof-map-controls[hidden],.roof-draw-tools[hidden]{display:none}.roof-map-controls button,.roof-draw-tools button{min-width:44px;min-height:44px;border:1px solid #bac5ce;border-radius:8px;background:#fff;padding:8px 11px;font:inherit;cursor:pointer}.roof-map-controls button{font-size:22px}.roof-draw-tools button[aria-pressed=true]{border-color:#d56922;background:#fff2e7;color:#824109}.roof-draw-tools p{width:100%;font-size:13px;line-height:1.5;color:#586573}.roof-settings form{display:grid;gap:16px}.roof-settings label{display:grid;gap:7px;font-size:14px;line-height:1.35}.roof-metrics{display:grid;gap:12px;margin:4px 0}.roof-metrics>div{display:flex;gap:14px;align-items:center;justify-content:space-between;border-top:1px solid #e0e5e9;padding-top:12px}.roof-metrics strong{font-size:24px;color:#18232f;font-variant-numeric:tabular-nums;white-space:nowrap}.roof-metrics span{font-size:13px;color:#586573}.roof-energy{margin-top:24px}.roof-energy-summary{font-size:clamp(34px,6vw,60px);font-weight:750;letter-spacing:-.04em;margin:12px 0 20px;color:#18232f}.roof-energy-summary small{font-size:18px;font-weight:500;letter-spacing:0}.roof-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;height:240px;align-items:end;padding-top:28px;margin:24px 0}.roof-chart>div{display:grid;grid-template-rows:1fr 24px;gap:7px;align-items:end;position:relative;height:100%}.roof-chart i{display:block;background:#e98334;border-radius:5px 5px 0 0;min-height:2px;position:relative}.roof-chart i>span{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-style:normal;font-size:11px;color:#425265;white-space:nowrap}.roof-chart small{text-align:center;color:#596876;font-size:12px}.roof-energy table{border-collapse:collapse;max-width:450px;width:100%;margin:16px 0}.roof-energy td,.roof-energy th{padding:7px;border-bottom:1px solid #e0e5e9;text-align:left}.roof-sources{padding:22px 0;line-height:1.6}.roof-sources summary{cursor:pointer;font-weight:650}.roof-planner button:disabled{opacity:.45;cursor:default}.roof-planner :is(button,input,select):focus-visible{outline:3px solid #e17c2f;outline-offset:3px}.roof-panel{fill:#123f5ccc;stroke:#d7e9f3;stroke-width:1}.roof-outline{fill:#ee9b3625;stroke:#ffb448;stroke-width:3}.roof-obstacle{fill:#e64d4d75;stroke:#ff6b6b;stroke-width:3}.roof-draft{fill:#ffeac12c;stroke:#ffe2a3;stroke-width:3;stroke-dasharray:7 5}.roof-vertex{fill:#fff;stroke:#2d3f50;stroke-width:2}.roof-cursor{fill:none;stroke:#fff;stroke-width:2}.roof-energy[hidden]{display:none}@media(max-width:960px){.roof-workspace{grid-template-columns:1fr}.roof-settings form{grid-template-columns:1fr 1fr}.roof-settings :is(.roof-metrics,[data-roof-calculate]){grid-column:1/-1}}@media(max-width:600px){.roof-planner{padding-block:25px 45px}.roof-search,.roof-map-section,.roof-settings,.roof-energy{padding:16px;border-radius:15px}.roof-search>div{flex-direction:column}.roof-hero>p:not(.eyebrow){font-size:17px}.roof-planner h2{font-size:21px}.roof-chart{gap:4px;height:200px}.roof-chart i>span{font-size:9px;writing-mode:vertical-rl;top:-32px}.roof-chart small{font-size:10px}.roof-settings form{gap:14px}.roof-draw-tools button{flex:1 1 42%}}.roof-consent{display:flex;align-items:flex-start;gap:11px;margin-top:16px;font-size:14px;line-height:1.5}.roof-planner .roof-consent input{flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:3px 0 0;accent-color:#d56e21}.roof-consent span{min-width:0}.roof-planner .roof-search>div input{min-width:0}.roof-candidates button{overflow-wrap:anywhere}.roof-language-picker{position:relative;display:block}.roof-language-picker>summary{display:flex;align-items:center;gap:7px;cursor:pointer;min-height:44px;padding:8px 10px;list-style:none}.roof-language-picker>summary::-webkit-details-marker{display:none}.roof-language-picker>.language-options{position:absolute;z-index:60;right:0;top:100%;display:grid;min-width:155px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d3dce3;border-radius:10px;padding:7px;box-shadow:0 8px 22px #182c4020}.roof-language-picker:not([open])>.language-options{display:none}.roof-language-picker .language-options a{display:block;min-height:42px;padding:10px 13px;border-radius:6px;white-space:nowrap}.roof-language-picker .language-options a.selected{background:#fff1e3;color:#874409}.roof-map>svg{touch-action:none;cursor:grab}.roof-map>svg:active{cursor:grabbing}.roof-browse-button{margin-top:16px;width:100%}.roof-map-picker{display:grid;gap:12px;margin:12px 0}.roof-map-picker label{font-size:14px;display:grid;gap:6px}.roof-regions{display:flex;flex-wrap:wrap;gap:6px}.roof-regions button{font:inherit;font-size:14px;padding:9px 12px;min-height:44px;background:#f3f6f8;border:1px solid #cbd4dd;border-radius:8px}.roof-map-controls button{min-width:48px;min-height:48px}.roof-map-controls{position:relative}.roof-map>img,.roof-map>svg{transform-origin:50% 50%;will-change:transform}.roof-map-section [data-roof-confirm]{width:100%}.roof-panel-selection{grid-column:1/-1;padding:16px;background:#f3f6f8;border:1px solid #dbe2e8;border-radius:12px}.roof-count-control{display:grid;grid-template-columns:48px minmax(60px,1fr) 48px;gap:8px;margin:8px 0 12px}.roof-count-control button{font-size:25px;min-height:48px;border:1px solid #bcc9d3;border-radius:9px;background:#fff}.roof-count-control input{text-align:center;font-size:20px;font-weight:650}.roof-panel-selection>[data-count-power]{font-size:19px}.roof-fit-warning{background:#fff0df;color:#8b3d13;border-left:3px solid #d8782a;padding:12px;font-size:14px;margin:0;line-height:1.45}.roof-saving{margin-top:28px;padding:22px;border-radius:14px;background:#f1f5f7;border:1px solid #d8e1e7}.roof-saving label{display:grid;gap:8px;max-width:400px;font-size:15px}.roof-saving strong{display:block;font-size:clamp(28px,5vw,42px);margin:22px 0 8px;color:#164d40}.roof-saving [data-saving-formula]{font-size:15px;color:#556675}.roof-advanced{grid-column:1/-1;border-top:1px solid #dce2e7;border-bottom:1px solid #dce2e7;padding:14px 0}.roof-advanced>summary{min-height:32px;display:list-item;font-size:15px;font-weight:600;color:#425566}.roof-advanced>div{display:grid;gap:16px;padding-top:14px}.roof-output-infographic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 28px}.roof-output-infographic>div{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 16px;background:#edf3f6;border-radius:12px;border-top:4px solid #ee922e}.roof-output-infographic>div:last-child{background:#fff3dc;border-color:#f7b538}.roof-output-infographic strong{font-size:clamp(20px,3vw,32px);color:#193f52;line-height:1.15;letter-spacing:-.03em}.roof-output-infographic span{font-size:13px;line-height:1.45;color:#506476}@media(max-width:600px){.roof-output-infographic{gap:7px}.roof-output-infographic>div{padding:13px 9px}.roof-output-infographic strong{font-size:19px}.roof-output-infographic span{font-size:12px}}.roof-forget{margin-top:12px;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:#536573;font-size:14px;min-height:40px;padding:8px 0}.roof-group-editor{border-top:1px solid #d5dfe5;margin-top:18px;padding-top:16px}.roof-group-list,.roof-group-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.roof-group-list button,.roof-group-actions button{min-height:44px;padding:9px 12px;border:1px solid #bdcbd5;border-radius:8px;background:#fff;font:inherit;font-size:14px}.roof-group-list [aria-pressed=true]{background:#fff0d3;border-color:#df942d;color:#703f0b}.roof-group-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.roof-group-fields label{font-size:14px}.roof-panel-selected{stroke:#ffba31;stroke-width:2}.roof-panel-invalid{fill:#d83f45aa;stroke:#f99}.roof-panel{pointer-events:none}.roof-quick{display:block;width:100%;margin-top:10px}.google-picker-panel{margin:24px 0;padding:22px;background:#fff;border:1px solid #d9dfe4;border-radius:18px}.google-map{width:100%;height:min(520px,60vh);min-height:330px;border-radius:12px;overflow:hidden;background:#edf1f5}.google-picker-panel>[data-google-point]{font-variant-numeric:tabular-nums;margin:12px 0}.roof-calculate-hint{font-size:14px;line-height:1.5;color:#87521c;margin:0;grid-column:1/-1;min-height:0}.roof-calculate-hint:empty{display:none}.roof-map{border:0;box-shadow:0 0 0 1px #c5ced6;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}.roof-map>img,.roof-map>svg{transform-origin:0 0}.roof-map>img{pointer-events:none;-webkit-user-drag:none}.roof-map[data-mode=browse]{cursor:grab}.roof-map-gesturing{cursor:grabbing!important}.roof-map[data-mode=roof]>svg,.roof-map[data-mode=obstacle]>svg,.roof-map[data-mode=place-group]>svg{cursor:crosshair}.roof-attribution{pointer-events:none}.roof-attribution a{pointer-events:auto}.roof-gesture-help{font-size:14px;line-height:1.45;background:#edf3f6;border-radius:10px;padding:10px 12px;color:#405d70;margin:12px 0 0}@media(max-width:600px){.roof-map-section{padding:12px}.roof-map{margin-top:10px;border-radius:10px}.roof-planner input,.roof-planner select{font-size:16px}.roof-map-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.roof-map-controls button{min-width:0;padding:8px 4px}.roof-draw-tools button,.roof-group-actions button,.roof-group-list button{min-height:48px}.roof-group-fields{gap:8px}.roof-gesture-help{font-size:13px}.google-picker-panel{padding:12px}.google-map{min-height:280px;height:55svh}}.roof-regional-fallback{margin-block:24px 48px;border:1px solid #d7e0e6;border-radius:16px;background:#fff;padding:16px}.roof-regional-fallback>summary{font-weight:650;min-height:44px}.roof-regional-fallback .wrap{width:100%;max-width:none}.roof-regional-fallback .page-intro{padding:20px 0}.roof-hero .breadcrumbs{font-size:13px;margin-bottom:20px}.roof-planner .roof-hero h1{font-size:clamp(30px,4vw,48px)}.google-picker-panel[hidden],.roof-workspace[hidden]{display:none}.google-picker-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.google-picker-actions .button{min-height:48px}.google-picker-panel>p{line-height:1.55}.google-map{touch-action:pan-y}@media(max-width:600px){.google-picker-actions{display:grid;grid-template-columns:1fr}.google-picker-actions .button{width:100%}}.roof-search>.roof-location-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.roof-location-actions>.roof-browse-button{margin-top:0;white-space:normal}.roof-location-fallback{padding:16px 20px;margin-top:16px;border:1px solid #e0c996;border-radius:12px;background:#fff8e8}.roof-location-fallback[hidden]{display:none}.roof-location-fallback p{margin:0 0 12px;line-height:1.5}.roof-location-fallback [data-location-fallback-point]{font-variant-numeric:tabular-nums}@media(max-width:600px){.roof-search>.roof-location-actions{grid-template-columns:1fr}.roof-location-fallback{padding:14px}}dialog.google-picker-panel{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;box-sizing:border-box;margin:0;border:0;border-radius:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));background:#fff;color:#18232f;overflow:hidden;overscroll-behavior:none}dialog.google-picker-panel[hidden],dialog.google-picker-panel:not([open]){display:none}dialog.google-picker-panel::backdrop{background:#15233180}.google-picker-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}.roof-planner .google-picker-heading h2{font-size:22px;margin:0}.google-picker-heading>p{grid-column:1/-1;font-size:14px;line-height:1.4;margin:0}.google-picker-heading [data-google-status]:empty{display:none}.google-picker-heading [data-google-status]{color:#87521c}.google-picker-heading [data-google-cancel]{min-height:44px;padding:9px 16px}dialog.google-picker-panel .google-map{width:100%;height:100%;min-height:0;min-width:0;border-radius:10px;touch-action:none}.google-picker-footer{min-width:0}.google-picker-footer>[data-google-point]{font-variant-numeric:tabular-nums;font-size:13px;line-height:1.3;margin:0 0 7px}.google-picker-footer>[data-google-point]:empty{display:none}.google-picker-footer .google-picker-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;margin:0}.google-picker-footer .button{min-height:48px;min-width:0;white-space:normal}.google-picker-limits{font-size:12px;line-height:1.35;margin-top:6px}.google-picker-limits>summary{cursor:pointer}.google-picker-limits[open]{max-height:18dvh;overflow:auto}.google-picker-limits .fine{margin-top:6px}@media(max-height:480px){dialog.google-picker-panel{gap:6px;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom))}.roof-planner .google-picker-heading h2{font-size:18px}.google-picker-heading>p{font-size:12px}.google-picker-limits{display:none}.google-picker-footer .button{min-height:44px;padding-block:8px}}.google-picker-views{grid-column:1/-1;display:flex;gap:6px}.google-picker-views button{min-height:44px;padding:8px 18px;border:1px solid #bdcbd5;border-radius:8px;background:#f3f6f8;color:#263f50;font:inherit;font-size:14px;cursor:pointer}.google-picker-views button[aria-pressed=true]{background:#193f52;color:#fff;border-color:#193f52}.google-picker-views button:focus-visible{outline:3px solid #e17c2f;outline-offset:2px}@media(max-height:480px){.google-picker-views{grid-column:1;grid-row:1;justify-self:center}.google-picker-heading h2{visibility:hidden}.google-picker-heading [data-google-cancel]{grid-column:2;grid-row:1}.google-picker-views button{min-height:44px;padding:6px 12px}}.roof-map-controls .roof-map-action{font-size:15px;flex:1 1 180px;white-space:normal}.roof-map-controls [aria-pressed=true]{border-color:#d56922;background:#fff2e7;color:#824109}.roof-panel{fill:transparent;stroke:#6b7d8d;stroke-width:1}.roof-panel-surface{pointer-events:none}.roof-panel-selected{fill:#ffba310d;stroke:#ffba31;stroke-width:2}.roof-panel-invalid{fill:#d83f456e;stroke:#f99;stroke-width:2}@media(max-width:600px){.roof-map-controls .roof-map-action{grid-column:span 3;font-size:14px;padding:9px 6px;overflow-wrap:anywhere}}.roof-map-stage,.roof-editor-tools{display:contents}.roof-expand-image{display:none}.roof-expand-image>svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.roof-pan-actions{display:flex;gap:8px;margin:12px 0}.roof-pan-actions button{min-width:44px;min-height:44px;border:1px solid #bac5ce;border-radius:8px;background:#fff;padding:8px 11px;font:inherit;font-size:22px}.roof-secondary-tools>summary,.roof-image-editor-help,[data-roof-editor-status]{display:none}.roof-map-section:has(.roof-map-controls[hidden]) .roof-secondary-tools{display:none}.roof-secondary-content{display:contents}.roof-secondary-actions{margin:12px 0}.roof-outline-actions{display:none;flex-wrap:wrap;gap:8px;margin:12px 0}.roof-map-section:has(.roof-map:is([data-mode=roof],[data-mode=obstacle])) .roof-outline-actions,.roof-outline-actions[data-draft]{display:flex}.roof-outline-actions button,.roof-secondary-actions button{min-width:44px;min-height:44px;border:1px solid #bac5ce;border-radius:8px;background:#fff;padding:8px 11px;font:inherit;cursor:pointer}dialog.roof-image-editor{position:fixed;inset:0;z-index:1001;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:#fff;color:#18232f;overflow:hidden;overscroll-behavior:none}dialog.roof-image-editor[hidden],dialog.roof-image-editor:not([open]){display:none}dialog.roof-image-editor::backdrop{background:#15233180}.roof-image-editor-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid #d8e1e7;background:#fff}.roof-planner .roof-image-editor-heading h2{font-size:16px;line-height:20px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roof-image-editor-heading [data-roof-editor-back]{min-height:44px;padding:8px 12px}.roof-image-editor>.roof-map-section{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;border:0;border-radius:0;padding:0;overflow:hidden}.roof-image-editor>.roof-map-section>:is(h2,p,.roof-map-picker,.roof-expand-image){display:none}.roof-image-editor .roof-expand-image{display:none}.roof-image-editor .roof-map{grid-row:1;aspect-ratio:auto;min-width:0;min-height:0;width:100%;height:100%;margin:0;border-radius:0;box-shadow:none}.roof-image-editor .roof-map>:is(img,svg){width:var(--roof-image-width);height:var(--roof-image-height);left:var(--roof-image-left);top:var(--roof-image-top);right:auto;bottom:auto}.roof-image-editor .roof-editor-tools{display:block;box-sizing:border-box;min-height:0;max-height:min(180px,28dvh);overflow:auto;overscroll-behavior:contain;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #d8e1e7;background:#fff}.roof-image-editor .roof-map-controls{position:sticky;top:-8px;z-index:2;background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 6px}.roof-image-editor .roof-map-controls[hidden],.roof-image-editor .roof-map-controls [data-map-pan]{display:none}.roof-image-editor .roof-map-controls .roof-map-action{grid-column:auto;font-size:13px;line-height:1.25;overflow-wrap:anywhere;padding:6px}.roof-image-editor .roof-map-controls button{min-width:44px;min-height:44px;height:44px;padding:6px}.roof-image-editor .roof-outline-actions{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}.roof-image-editor>.roof-map-section:has(.roof-map:is([data-mode=roof],[data-mode=obstacle])) .roof-outline-actions,.roof-image-editor .roof-outline-actions[data-draft]{display:grid}.roof-image-editor .roof-outline-actions button{min-width:44px;min-height:44px;font-size:12px;line-height:1.25;padding:6px;overflow-wrap:anywhere}.roof-image-editor .roof-secondary-tools{margin:6px 0 0;padding:0;border:0}.roof-image-editor .roof-secondary-tools>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;box-sizing:border-box;border:1px solid #bdcbd5;border-radius:8px;font-size:14px;cursor:pointer;list-style:none;background:#f3f6f8}.roof-image-editor .roof-secondary-tools>summary::-webkit-details-marker{display:none}.roof-image-editor .roof-secondary-content{display:block;padding-top:8px}.roof-image-editor .roof-pan-actions{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px;margin:0 0 6px}.roof-image-editor .roof-secondary-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;margin:0 0 6px}.roof-image-editor .roof-secondary-actions button{min-height:44px;font-size:13px;line-height:1.3}.roof-image-editor .roof-draw-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}.roof-image-editor .roof-draw-tools[hidden]{display:none}.roof-image-editor .roof-draw-tools button{min-width:44px;min-height:44px;font-size:12px;line-height:1.25;padding:6px;overflow-wrap:anywhere}.roof-image-editor .roof-draw-tools p,.roof-image-editor .roof-editor-tools>.fine,.roof-image-editor .roof-group-content>.fine{display:none}.roof-image-editor .roof-editor-tools>[data-roof-confirm],.roof-image-editor .roof-quick{width:100%;min-height:44px;padding:8px 12px;font-size:14px;line-height:1.3}.roof-image-editor .roof-group-editor{margin-top:8px;padding-top:8px}.roof-image-editor .roof-group-list,.roof-image-editor .roof-group-actions{gap:6px;margin-bottom:8px}.roof-image-editor .roof-group-list button,.roof-image-editor .roof-group-actions button{min-height:44px;padding:6px 10px;font-size:12px}.roof-image-editor .roof-group-fields{gap:8px}.roof-image-editor .roof-group-fields label{font-size:12px}.roof-image-editor .roof-group-fields input{min-height:44px;font-size:16px}.roof-image-editor [data-roof-editor-status]{display:block;font-size:12px;line-height:16px;height:32px;min-height:32px;max-height:32px;margin:8px 0 0;color:#794716;overflow:auto;overflow-wrap:anywhere}.roof-image-editor .roof-image-editor-help{display:block;font-size:12px;line-height:1.35}.roof-image-editor-help summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.roof-image-editor-help>p{margin:0;max-height:120px;overflow:auto}.roof-image-editor :is(button,input,summary):focus-visible{outline:3px solid #e17c2f;outline-offset:-3px}.roof-image-editor .roof-editor-tools:has(.roof-secondary-tools[open]){max-height:42dvh}@media(max-width:760px),(max-width:960px)and (pointer:coarse){.roof-expand-image{display:block;width:100%;min-height:48px;margin-top:10px;white-space:normal}}@media(orientation:landscape)and (max-height:600px){.roof-image-editor>.roof-map-section{grid-template-columns:minmax(0,1fr) minmax(200px,27%);grid-template-rows:minmax(0,1fr)}.roof-image-editor .roof-editor-tools,.roof-image-editor .roof-editor-tools:has(.roof-secondary-tools[open]){height:100%;max-height:none;border-top:0;border-left:1px solid #d8e1e7}.roof-image-editor .roof-map{grid-column:1;grid-row:1}}.roof-image-editor .roof-scale{width:calc(var(--roof-image-width)*.25)}.roof-image-editor .roof-map>img{max-width:none}.roof-inline-editor{padding:0;border:0;border-radius:0}.roof-inline-editor>h2{margin-bottom:8px}.roof-inline-editor>p{display:none}.roof-inline-editor>.roof-map-stage{display:block;position:relative;isolation:isolate;width:var(--roof-inline-width,100%);margin:8px calc((100% - var(--roof-inline-width,100%))/2) 0}.roof-inline-editor .roof-map{height:clamp(380px,68svh,680px);aspect-ratio:auto;width:100%;margin:0;border-radius:0;box-shadow:none}.roof-inline-editor .roof-map>:is(img,svg){width:var(--roof-image-width);height:var(--roof-image-height);left:var(--roof-image-left);top:var(--roof-image-top);right:auto;bottom:auto;max-width:none}.roof-inline-editor .roof-expand-image{position:static;display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 16px);min-width:44px;min-height:44px;margin:0 8px 8px;padding:8px 11px;background:#fff;color:#18232f;border:1px solid #aebbc5;font-size:14px;line-height:1.25}.roof-inline-editor .roof-north{top:8px;left:8px;min-height:44px;display:flex;align-items:center}.roof-inline-editor .roof-editor-tools{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;box-sizing:border-box;padding:8px;background:#fff}.roof-inline-editor .roof-editor-tools>:is(.roof-map-controls,.roof-outline-actions,.roof-secondary-tools,[data-roof-confirm],[data-roof-retry]){pointer-events:auto}.roof-inline-editor .roof-map-controls{grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.roof-inline-editor .roof-map-controls[hidden]{display:none}.roof-inline-editor .roof-map-controls .roof-map-action{grid-column:auto;min-width:44px;min-height:48px;padding:6px;font-size:13px;line-height:1.2;overflow-wrap:normal;box-shadow:0 2px 8px #18232f20}.roof-inline-editor .roof-editor-tools>[data-roof-confirm],.roof-inline-editor .roof-editor-tools>[data-roof-retry]{grid-column:1/-1;grid-row:1;min-height:44px;font-size:14px;padding:8px 12px;box-shadow:0 2px 8px #18232f20}.roof-inline-editor .roof-editor-tools>[data-roof-retry]{grid-row:auto}.roof-inline-editor .roof-outline-actions{display:none;grid-column:1/-1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.roof-inline-editor:has(.roof-map:is([data-mode=roof],[data-mode=obstacle])) .roof-outline-actions,.roof-inline-editor .roof-outline-actions[data-draft]{display:grid}.roof-inline-editor .roof-outline-actions button{min-height:44px;font-size:13px;line-height:1.25}.roof-inline-editor .roof-secondary-tools{grid-column:2;grid-row:3;min-width:0;margin:0;border:0;padding:0}.roof-inline-editor .roof-secondary-tools[open]{grid-column:1/-1;grid-row:4}.roof-inline-editor .roof-secondary-tools>summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;padding:7px 10px;box-sizing:border-box;border:1px solid #aebbc5;border-radius:8px;background:#fff;box-shadow:0 2px 8px #18232f20;font-size:13px;line-height:1.25;cursor:pointer;list-style:none}.roof-inline-editor .roof-secondary-tools>summary::-webkit-details-marker{display:none}.roof-inline-editor .roof-secondary-tools[open]>summary{background:#193f52;border-color:#193f52;color:#fff}.roof-inline-editor .roof-secondary-content{display:block;position:static;max-height:min(300px,38svh);overflow:auto;overscroll-behavior:contain;margin-top:8px;padding:12px;border:1px solid #bdcbd5;border-radius:12px;background:#fff;touch-action:pan-y}.roof-inline-editor .roof-secondary-tools:not([open])>.roof-secondary-content{display:none}.roof-inline-editor .roof-pan-actions{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px;margin:0 0 8px}.roof-inline-editor .roof-secondary-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;margin:0 0 8px}.roof-inline-editor .roof-secondary-actions button{font-size:14px;line-height:1.3;padding:7px}.roof-inline-editor .roof-draw-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.roof-inline-editor .roof-draw-tools[hidden]{display:none}.roof-inline-editor .roof-draw-tools button{min-width:44px;min-height:44px;font-size:14px;line-height:1.3;padding:8px}.roof-inline-editor .roof-draw-tools [data-roof-clear]{grid-column:1/-1}.roof-inline-editor .roof-editor-tools>.fine,.roof-inline-editor .roof-draw-tools p,.roof-inline-editor .roof-group-content>.fine{display:none}.roof-inline-editor .roof-group-editor{margin-top:10px;padding-top:10px}.roof-inline-editor .roof-group-actions button,.roof-inline-editor .roof-group-list button{min-height:44px;font-size:13px}.roof-inline-editor [data-roof-editor-status]{display:block;font-size:13px;line-height:18px;max-height:54px;overflow:auto;margin:8px 0 0}.roof-inline-editor [data-roof-editor-status]:empty{display:none}.roof-inline-editor .roof-image-editor-help{display:block;font-size:13px;line-height:1.4}.roof-inline-editor .roof-scale{top:62px;bottom:auto;width:calc(var(--roof-image-width)*.25)}.roof-inline-editor :is(button,input,summary):focus-visible{outline:3px solid #e17c2f;outline-offset:-3px}.roof-layout-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;margin:10px 0;padding:8px 10px;border-radius:8px;background:#193f52;color:#fff;font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}.roof-layout-summary>strong{font-size:inherit;line-height:inherit;font-weight:600;white-space:nowrap}.roof-layout-summary>[data-count-area-fit]{flex-basis:100%;color:#ffd7b2;font-size:12px;line-height:16px}.roof-image-editor .roof-layout-summary{margin:0 0 6px;padding:5px 8px;font-size:13px}.roof-inline-editor .roof-layout-summary{grid-column:1/-1;grid-row:2;margin:0;padding:5px 8px;font-size:13px;pointer-events:none}.roof-outline-actions>[data-roof-close-status]{flex-basis:100%;grid-column:1/-1;margin:2px 0 0;font-size:13px;line-height:18px;color:#794716;overflow-wrap:anywhere}.roof-outline-actions>[data-roof-close-status][hidden]{display:none}.roof-pan-actions{display:none!important}.roof-secondary-tools>summary{display:block;min-height:48px;padding:10px 12px;border:1px solid #bdcbd5;border-radius:8px;font-weight:600;cursor:pointer}.roof-secondary-tools:not([open])>.roof-secondary-content{display:none}.roof-secondary-tools[open]>.roof-secondary-content{display:block;padding-top:10px}.roof-page-navigation{display:flex;justify-content:space-between;gap:8px;margin:0 0 14px;touch-action:pan-y}.roof-page-navigation button{min-height:44px;min-width:44px;max-width:50%;padding:8px 12px;border:1px solid #bac5ce;border-radius:8px;background:#fff;color:#263f50;font:inherit;font-size:14px;line-height:1.25;cursor:pointer}.roof-editor-exits{display:flex;gap:6px;align-items:center}.roof-editor-exits .button{min-height:44px;padding:8px 10px;font-size:13px;line-height:1.2;white-space:normal}.roof-image-editor .roof-page-navigation{display:none}.roof-inline-editor .roof-page-navigation{position:relative;margin-bottom:8px}.roof-map[aria-busy=true]:has([data-roof-previous-imagery]:not([hidden])):after{content:attr(data-loading-label);position:absolute;top:10px;right:10px;max-width:65%;border-radius:7px;background:#fffffff0;color:#364d60;padding:8px 10px;font-size:12px;line-height:1.35;pointer-events:none}.roof-map[data-mode=panels]>svg{cursor:move}@media(max-width:480px){.roof-image-editor-heading{grid-template-columns:1fr}.roof-image-editor-heading h2{display:none}.roof-editor-exits{display:grid;grid-template-columns:1fr 1fr}.roof-editor-exits .button{width:100%}.roof-image-editor-heading [data-roof-editor-back]{padding:8px 10px;font-size:13px}}
