:root{--ink:#253b37;--muted:#7b8783;--accent:#22675b;--deep:#173f3b;--warm:#c67c27;--line:#e1e6df;--paper:#fff;--canvas:#f0f3ee;--blue:#47739b;font-family:-apple-system,BlinkMacSystemFont,"PingFang HK","Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.6}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a,input,svg{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,svg:focus-visible,[role=button]:not(.zone-shape):focus-visible{outline:3px solid #6d9dce;outline-offset:3px}[hidden]{display:none!important}button{color:inherit}a{color:var(--accent)}
.app-header{height:88px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:44px;background:var(--deep);color:#fff;display:grid;place-items:center;border-radius:10px;font-size:29px;line-height:1}.identity h1{font-size:19px;letter-spacing:.04em;margin:0;line-height:1.4;font-weight:650;white-space:nowrap}.identity h1 span{margin-left:14px;padding-left:14px;border-left:1px solid #bdc9bf;font-weight:500;font-size:16px}.identity p{margin:3px 0 0;font-size:9px;letter-spacing:.19em;color:var(--muted)}.preview-badge{font-size:10px;padding:3px 7px;border:1px solid #d4dfd5;border-radius:4px;color:#6c806f;margin-left:8px;white-space:nowrap}.header-controls{display:flex;gap:12px;align-items:center}.date-control{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}input[type=date]{padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fff;min-height:36px}.plain-button{background:none;border:0;color:var(--accent);font-size:12px;white-space:nowrap}.refresh-button{border:1px solid var(--deep);background:var(--deep);color:white;border-radius:5px;padding:7px 13px;white-space:nowrap}.refresh-button span{margin-right:6px;font-size:17px}.status-bar{min-height:40px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 32px;font-size:11px;color:#79847c}.status-bar>div{display:flex;align-items:center;gap:19px}#source-status:before{content:"";display:inline-block;width:6px;height:6px;background:#57856c;border-radius:50%;margin-right:8px}.status-bar button{background:none;border:0;color:#536f65;font-size:11px;text-decoration:underline;text-underline-offset:3px}.status-bar.demo{background:#fff2db;color:#896226}.status-bar.demo #source-status:before{background:#c1852d}.notice{padding:9px 32px;font-size:12px;color:#875d29;background:#fff3de;border-bottom:1px solid #eddfc6}
.workspace{--panel-layout:split;--min-details:320;--min-layout:360;display:grid;grid-template-columns:minmax(320px,var(--details-width,1.08fr)) 22px minmax(360px,1fr);height:calc(100dvh - 128px);min-height:560px;padding:0 24px 24px;gap:0}.progress-panel{container-type:inline-size;container-name:details;min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading{padding:24px 24px 17px;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:.2em;color:#829183;font-weight:650;line-height:1.3;margin:0 0 8px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title-row h2{font-size:23px;letter-spacing:.01em;margin:0;font-weight:600;line-height:1.4}#panel-description{font-size:12px;color:var(--muted);margin:8px 0 0}.back-button{background:none;border:0;padding:4px 0;color:var(--accent);font-size:11px;white-space:nowrap}.panel-content{overflow:auto;flex:1;padding:0 24px 26px;scrollbar-width:thin;scrollbar-color:#d0d9d0 transparent}.panel-content:focus{outline:none}.panel-bottom{padding:12px 20px;border-top:1px solid var(--line);font-size:10px;color:#89948b;display:flex;justify-content:space-between;gap:10px;background:#fcfdfa}.panel-bottom button{border:0;background:none;color:#806a48;font-size:10px;padding:0}.metrics{display:flex;gap:0;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.metric{flex:1;border-right:1px solid var(--line);padding-left:19px}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric strong{display:block;font-size:28px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.metric span{display:block;color:var(--muted);font-size:11px;margin-top:8px}.discipline{margin-bottom:26px}.discipline h3{font-size:13px;margin:0 0 13px;display:flex;align-items:center;gap:7px;font-weight:600}.discipline h3 i{width:6px;height:6px;background:var(--accent);border-radius:2px}.discipline[data-kind=mep] h3 i{background:var(--blue)}.discipline[data-kind=civil] h3 i{background:#bb874c}.discipline h3 span{margin-left:auto;color:#95a094;font-size:11px;font-weight:400}.summary-list{margin:0;padding:0 0 0 18px;font-size:12px;line-height:1.85;color:#627169}.summary-list li{padding-left:4px;margin:0 0 13px}.summary-list strong{font-weight:600;color:#364e42;display:block}.summary-list li::marker{color:#9ba99d;font-variant-numeric:tabular-nums}.empty-text{font-size:12px;color:#909b94;margin:0}.summary-note{font-size:10px;color:#98a197;line-height:1.8;border-top:1px solid var(--line);padding-top:14px}.scope-note{font-size:11px;line-height:1.8;padding:11px 12px;background:#f5f6f1;color:#788375;margin:20px 0}.scope-note.demo-note{background:#fff2db;color:#8d662a}.report-entry{border:1px solid var(--line);border-radius:6px;margin-bottom:11px;overflow:hidden}.report-entry summary{cursor:pointer;list-style:none;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.report-entry summary::-webkit-details-marker{display:none}.report-entry summary strong{font-size:13px;font-weight:600}.report-entry summary small{display:block;font-size:10px;color:#839087;font-weight:400;margin-top:3px}.report-entry summary>span:last-child{font-size:15px;color:#9aa899;transition:transform .15s}.report-entry[open] summary>span:last-child{transform:rotate(90deg)}.report-body{padding:0 14px 14px}.report-body p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#586a60;line-height:1.85;margin:0 0 12px}.report-meta{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #edf0e9;padding-top:9px;color:#93a092;font-size:10px}.record-photos{display:flex;gap:6px;margin-bottom:13px;overflow:auto}.record-photos button{padding:0;flex:0 0 74px;width:74px;height:62px;background:#eef2eb;border:0;border-radius:4px;overflow:hidden}.record-photos img{display:block;width:100%;height:100%;object-fit:cover;font-size:9px;color:#82907f}.zone-empty{padding:25px 0 5px}.zone-empty .empty-icon{font-size:27px;color:#acb9ab;margin-bottom:13px}.zone-empty h3{font-size:16px;font-weight:500;margin:0 0 9px}.zone-empty p{font-size:12px;color:#8c998c;line-height:1.8;margin:0 0 15px}.inline-button{font-size:12px;border:1px solid #c6d5c6;background:#f4f8f0;color:var(--accent);border-radius:4px;padding:7px 12px}
.map-panel{container-type:inline-size;container-name:layout;display:flex;flex-direction:column;min-width:0;min-height:0}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 2px 13px}.map-heading h2{font-size:17px;font-weight:500;margin:0;line-height:1.4}.map-heading h2 span{font-size:11px;color:#7b8b7e;margin-left:12px;padding-left:12px;border-left:1px solid #c6d0c5}.floor-tabs{display:flex;padding:3px;background:#e5eae2;border-radius:6px;gap:2px}.floor-tabs button{border:0;background:none;color:#879180;padding:6px 16px;font-size:12px;border-radius:4px;min-height:32px}.floor-tabs button[aria-pressed=true]{background:#fff;color:var(--deep);box-shadow:0 1px 4px #173f3b0d;font-weight:650}.map-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:0 2px 13px;font-size:10px;color:#899580}.legend{display:flex;gap:14px;flex-wrap:wrap}.legend>span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:7px;height:7px;border:1px solid #adb6aa;border-radius:2px;background:#dce1d9}.dot.reported{background:#6f9c83;border-color:#4d866a}.dot.selected{background:#deac67;border-color:#ac732e}.map-canvas{position:relative;background:#fff;border:1px solid #d7dfd3;border-radius:8px;overflow:hidden;flex:1;min-height:350px;background-image:radial-gradient(#bac9b136 .6px,transparent .6px);background-size:14px 14px;box-shadow:0 3px 16px #2d48220a}.map-context{position:absolute;top:13px;left:16px;z-index:2;display:flex;gap:12px;align-items:center;pointer-events:none}.map-context>span:first-child{background:#f2f5eeeb;border:1px solid #d9e3d3;border-radius:4px;padding:4px 9px;font-size:11px;color:#56764c}.map-context>span:last-child{font-size:10px;color:#97a191;background:#ffffffdb;padding:2px 4px}#layout-svg{display:block;width:100%;height:100%;min-height:350px;touch-action:none;user-select:none;cursor:grab}#layout-svg:active{cursor:grabbing}#layout-svg image{filter:grayscale(1);opacity:.76}.zone-shape{outline:none;pointer-events:visiblePainted;fill:#c6cebf;fill-opacity:.1;stroke:#8f9e86;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .15s,stroke .15s}.zone-shape.has-reports{fill:#32755a;fill-opacity:.13;stroke:#548567;stroke-width:1.6}.zone-shape:hover,.zone-shape:focus{fill:#aebba4;fill-opacity:.3;stroke:#5f7758;stroke-width:2}.zone-shape.is-selected{fill:#e4a63c;fill-opacity:.26;stroke:#b17929;stroke-width:2.7}.zone-shape:focus-visible{outline:none;stroke:#426b9c;stroke-width:3;stroke-dasharray:6 3}.zone-shape.is-selected:focus-visible{stroke:#a96616;stroke-width:3.2}.report-body .mapping-note{background:#f6f4eb;border-left:2px solid #c8ad75;padding:7px 9px;font-size:10px;color:#887344;line-height:1.7}.map-label{pointer-events:none}.map-label rect{fill:#fff;stroke:#dae1d5;stroke-width:1}.map-label text{font-weight:650;fill:#53604d;text-anchor:middle;dominant-baseline:middle}.map-label.has-reports rect{fill:#eff6ed;stroke:#7ca384}.map-label.has-reports text{fill:#377352}.map-label.is-selected rect{fill:#fff1d9;stroke:#cc9650;stroke-width:2}.map-label.is-selected text{fill:#9c6221}.map-label .count{font-size:18px;font-weight:400;fill:#839178}.map-label.is-selected .count{fill:#b08545}.map-tools{position:absolute;bottom:16px;right:16px;background:#fff;display:flex;align-items:center;gap:2px;border:1px solid #d7dfd3;border-radius:6px;padding:3px;box-shadow:0 3px 14px #1d3c2611}.map-tools button{background:none;border:0;min-width:32px;height:32px;font-size:17px;border-radius:3px}.map-tools button:hover{background:#edf3e7}.map-tools button:last-child{font-size:11px;padding:0 9px}.map-tools output{font-size:10px;color:#748367;min-width:37px;text-align:center}.map-tools>span{height:18px;border-left:1px solid var(--line);margin:0 4px}#map-error{position:absolute;inset:0;display:grid;place-items:center;background:#fafaf4;color:#976634;padding:30px}.zone-strip{display:flex;align-items:center;gap:14px;margin-top:14px}.zone-strip>span{font-size:10px;color:#8a9983;white-space:nowrap}.zone-strip>div{display:flex;gap:5px;flex-wrap:wrap}.zone-strip button{border:1px solid #d7dfd2;background:#f8faf5;border-radius:4px;font-size:10px;padding:4px 8px;min-height:29px;color:#6e8260}.zone-strip button span{margin-left:5px;color:#9ea996;font-size:9px}.zone-strip button[aria-pressed=true]{background:#fff1d9;border-color:#c89955;color:#936026}.zone-strip button.missing{border-style:dashed;color:#a2ac9a}.map-footer{display:flex;justify-content:space-between;gap:10px;color:#9ca594;font-size:9px;margin-top:13px;padding:0 1px}.geometry-note{font-size:10px;color:#a1804d;line-height:1.8;margin:6px 0 0}.photo-dialog{max-width:90vw;max-height:92dvh;border:0;border-radius:8px;padding:15px;background:#fff}.photo-dialog::backdrop{background:#132822bb}.photo-dialog img{display:block;max-width:85vw;max-height:78dvh;object-fit:contain}.photo-dialog>button{position:absolute;right:20px;top:20px;border:0;border-radius:50%;width:35px;height:35px;background:#fffffff0;font-size:22px}.photo-dialog p{font-size:12px;color:#64745d;margin:8px 0 0;text-align:center}
@media(min-width:1800px){.workspace{padding:0 36px 28px}.panel-content{padding:0 30px 30px}.panel-heading{padding:28px 30px 22px}.summary-list,.report-body p{font-size:14px}.summary-list li{margin-bottom:17px}.app-header{padding:0 42px}.status-bar{padding-left:42px;padding-right:42px}}
@media(max-width:1100px){.workspace{padding:0 16px 18px}.app-header{padding:0 22px}.identity h1 span{font-size:14px;margin-left:9px;padding-left:9px}.preview-badge{display:none}.map-heading{align-items:flex-start}.floor-tabs button{padding:6px 10px}.map-meta{align-items:flex-start;flex-direction:column;gap:6px}.panel-content{padding:0 20px 24px}.panel-heading{padding:22px 20px 15px}.date-control>span{display:none}.map-context>span:last-child{display:none}}
@media(max-width:639px){.app-header{height:auto;min-height:100px;align-items:flex-start;flex-direction:column;gap:15px;padding:17px 18px}.identity{gap:10px}.brand-mark{width:33px;height:35px;font-size:23px;border-radius:7px}.identity h1{font-size:16px}.identity h1 span{font-size:14px}.identity p{font-size:8px}.header-controls{width:100%;justify-content:space-between;gap:8px}.date-control{flex:1}.date-control input{width:100%;max-width:190px;font-size:12px}.refresh-button{font-size:12px;padding:5px 10px}.status-bar{padding:9px 18px;align-items:flex-start;font-size:10px;gap:8px}.status-bar>div{align-items:flex-end;flex-direction:column;gap:3px}.status-bar #sync-time{font-size:9px}.workspace{--panel-layout:stack;display:flex;flex-direction:column;height:auto;padding:0 12px 20px;gap:17px;min-height:0}.map-panel{order:0}.progress-panel{order:1;max-height:none}.map-heading{padding:10px 3px}.map-heading h2{font-size:15px}.floor-tabs button{padding:4px 11px;font-size:11px}.map-meta{flex-direction:row;gap:8px;padding:0 3px 10px;font-size:9px}.legend{gap:7px;justify-content:flex-end}.legend>span{gap:3px}.map-canvas{flex:none;height:500px;max-height:65dvh;min-height:340px}#layout-svg{min-height:340px}.zone-strip{align-items:flex-start;gap:9px;margin-top:10px}.zone-strip>span{padding-top:6px}.zone-strip>div{gap:5px}.zone-strip button{padding:4px 8px;font-size:10px}.map-footer{font-size:8px;gap:6px;margin-top:9px}.map-footer>span:last-child{white-space:nowrap}.panel-content{overflow:visible}.panel-title-row h2{font-size:22px}.panel-heading{padding:21px 21px 17px}.panel-content{padding:0 21px 25px}.summary-list,.report-body p{font-size:13px}.notice{padding:9px 18px}.panel-bottom{font-size:10px}.map-tools{bottom:12px;right:12px}.map-context{left:12px;top:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* The handle occupies the gap, with a full-height drag target. */
.panel-splitter{position:relative;min-width:0;cursor:col-resize;touch-action:none;user-select:none;outline:none;border-radius:6px}
.panel-splitter:before{content:"";position:absolute;left:50%;top:14px;bottom:14px;width:1px;background:#d4ddd2;transform:translateX(-50%);transition:background .15s}
.splitter-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:64px;border:1px solid #c3d0c2;border-radius:8px;background:#f9fbf7;box-shadow:0 1px 5px #173f3b0b}
.splitter-grip:after{content:"";position:absolute;inset:19px 2px;border-left:1px solid #79947e;border-right:1px solid #79947e}
.panel-splitter:hover:before,.panel-splitter:focus-visible:before,.is-resizing-panels .panel-splitter:before{background:#658970;width:2px}
.panel-splitter:hover .splitter-grip,.panel-splitter:focus-visible .splitter-grip,.is-resizing-panels .splitter-grip{background:#e3ede0;border-color:#618669}
.panel-splitter:focus-visible{box-shadow:inset 0 0 0 2px #6d9dce}
body.is-resizing-panels,body.is-resizing-panels *{cursor:col-resize!important;user-select:none!important}
.summary-list,.report-entry summary small,#panel-description{overflow-wrap:anywhere}
.report-entry summary>span:first-child{min-width:0}.report-meta{flex-wrap:wrap}
@container layout (max-width:580px){.map-heading{flex-wrap:wrap;gap:10px}.map-meta{align-items:flex-start;flex-direction:column;gap:7px}.map-context>span:last-child{display:none}.map-footer{flex-wrap:wrap;gap:4px}.zone-strip{align-items:flex-start;gap:8px}.zone-strip>span{padding-top:5px}.floor-tabs button{padding:5px 13px}.legend{gap:10px}}
@container details (max-width:420px){.panel-content{padding:0 20px 24px}.panel-heading{padding:22px 20px 17px}.summary-list,.report-body p{font-size:12px}.metric{padding-left:12px}.panel-bottom{padding:12px 16px}}
@media(max-width:639px){.panel-splitter{display:none}.workspace{gap:17px}.progress-panel,.map-panel{width:100%}}

/* Compact two-pane reading: phone landscape and unfolded inner displays. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.fullscreen-button{display:none;place-items:center;border:1px solid #d0dcd1;border-radius:5px;background:white;color:var(--deep);font-size:23px;width:38px;height:38px;flex:0 0 38px}
.rotation-tip{display:none}
@media(min-width:640px) and (max-width:1100px){
 body{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top)}
 .app-header{height:58px;min-height:58px;flex:0 0 58px;flex-direction:row;align-items:center;gap:12px;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left))}
 .identity{gap:9px}.brand-mark{width:31px;height:33px;font-size:23px;border-radius:7px}.identity h1{font-size:16px}.identity h1 span{font-size:13px;margin-left:8px;padding-left:8px}.identity p,.preview-badge{display:none}
 .header-controls{gap:8px;width:auto;justify-content:flex-end}.date-control{flex:0 1 auto}.date-control input{font-size:14px;min-height:36px;width:143px;max-width:none;padding:5px 7px}.plain-button{font-size:12px;min-height:36px;padding:4px}.refresh-button{font-size:12px;padding:4px 9px;min-height:36px}.fullscreen-button{display:grid}
 .status-bar{flex:0 0 26px;min-height:26px;padding:2px max(12px,env(safe-area-inset-right)) 2px max(12px,env(safe-area-inset-left));font-size:10px}.status-bar>div{flex-direction:row;gap:8px}.status-bar #demo-toggle{display:none}
 .workspace{--panel-layout:split;--min-details:260;--min-layout:250;display:grid;grid-template-columns:minmax(260px,var(--details-width,1.08fr)) 28px minmax(250px,1fr);height:auto;min-height:0;flex:1;gap:0;padding:0 max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
 .progress-panel,.map-panel{order:0;width:auto;min-height:0}.panel-splitter{display:block}.splitter-grip{width:12px;height:64px}.splitter-grip:after{inset:19px 3px}
 .panel-heading{padding:14px 15px 11px}.panel-heading .eyebrow{display:none}.panel-title-row h2{font-size:20px}#panel-description{font-size:11px;margin-top:3px}.back-button{font-size:12px;min-height:36px}
 .panel-content{padding:0 15px 18px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel-bottom{padding:7px 12px;min-height:35px;font-size:10px}.panel-bottom button{font-size:11px;min-height:28px}
 .metrics{padding:11px 0;margin-bottom:13px}.metric{padding-left:10px}.metric strong{font-size:22px}.metric span{font-size:11px;margin-top:3px}
 .summary-list,.report-body p{font-size:14px;line-height:1.75;color:#455d50}.summary-list li{margin-bottom:14px}.discipline{margin-bottom:18px}.discipline h3{font-size:14px;margin-bottom:10px}.scope-note{font-size:11px;margin:12px 0;padding:9px 10px}.summary-note{font-size:11px}
 .progress-panel[data-mode=zone] .scope-note,.progress-panel[data-mode=zone] .discipline[data-count="0"]{display:none}
 .report-entry summary{padding:11px 12px;min-height:48px}.report-entry summary strong{font-size:14px}.report-entry summary small{font-size:11px;line-height:1.6}.report-body{padding:0 12px 12px;display:flex;flex-direction:column}.report-body .mapping-note{order:3;font-size:11px;padding:7px 9px;margin:8px 0}.report-meta{order:4;font-size:10px}.record-photos{margin-top:4px;margin-bottom:9px}.record-photos button{width:88px;flex-basis:88px;height:68px}
 .map-heading{padding:9px 0;gap:8px;flex-wrap:nowrap;align-items:center;min-height:48px}.map-heading .eyebrow,.map-heading h2 span{display:none}.map-heading h2{font-size:0;white-space:nowrap}.map-heading h2:before{content:"Layout";font-size:14px;font-weight:600}.floor-tabs{padding:2px;gap:0}.floor-tabs button{padding:4px 8px;font-size:12px;min-height:36px;min-width:36px}
 .map-meta{flex-direction:row;align-items:center;padding:0 0 7px;min-height:23px}.map-meta #map-count{display:none}.legend{gap:10px;justify-content:flex-start;font-size:10px}.legend>span{gap:4px}
 .map-canvas{flex:1;height:auto;max-height:none;min-height:0}#layout-svg{min-height:0}.map-context{top:9px;left:9px}.map-context>span:first-child{font-size:10px;padding:3px 6px}.map-context>span:last-child{display:none}
 .map-tools{right:8px;bottom:8px;padding:2px}.map-tools button{min-width:36px;height:36px;font-size:18px}.map-tools button:last-child{font-size:11px;padding:0 7px}.map-tools output{font-size:11px;min-width:35px}.map-tools>span{margin:0 2px}
 .zone-strip{gap:0;margin-top:8px;min-height:40px;flex:0 0 40px;min-width:0}.zone-strip>span{display:none}.zone-strip>div{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:5px;width:100%;padding-bottom:2px}.zone-strip button{flex:0 0 auto;min-height:38px;font-size:12px;padding:4px 9px}.zone-strip button span{font-size:10px}
 .map-footer{font-size:9px;margin-top:6px;gap:3px;flex-wrap:wrap}.map-footer>span:last-child{display:none}.geometry-note{font-size:10px;margin:3px 0;max-height:32px;overflow:auto}
 .notice{padding:6px 12px;font-size:11px;flex:none}.empty-text{font-size:12px}.zone-empty{padding:15px 0}.zone-empty h3{font-size:15px}.zone-empty p{font-size:12px}
}
@media(min-width:640px) and (max-width:1100px) and (max-height:520px){
 .app-header{height:48px;min-height:48px;flex-basis:48px;padding-top:4px;padding-bottom:4px}.brand-mark{width:28px;height:29px;font-size:21px}.identity h1{font-size:15px}.identity h1 span{font-size:12px}.date-control input{font-size:14px}.status-bar{flex-basis:22px;min-height:22px;font-size:10px}
 .panel-heading{padding:8px 13px 6px}.panel-title-row h2{font-size:18px}#panel-description{font-size:10px;margin-top:1px}.back-button{font-size:11px;min-height:30px}.panel-content{padding:0 13px 12px}.panel-bottom{min-height:28px;padding:2px 10px}.panel-bottom button{min-height:25px;font-size:10px}
 .metrics{padding:8px 0;margin-bottom:10px}.metric strong{display:inline-block;font-size:18px;margin-right:5px}.metric span{display:inline;font-size:10px;margin-top:0}.progress-panel[data-mode=zone] .metrics{display:none}.progress-panel[data-mode=zone] .discipline{margin-top:9px}.discipline h3{font-size:13px;margin-bottom:7px}.discipline{margin-bottom:14px}.summary-list,.report-body p{font-size:14px;line-height:1.65}.scope-note{font-size:10px;padding:7px 9px;margin:9px 0}.report-entry summary{padding:8px 10px;min-height:44px}.report-body{padding:0 10px 10px}
 .map-heading{min-height:40px;padding:2px 0 4px}.map-meta{min-height:19px;padding-bottom:4px}.map-canvas{border-radius:6px}.zone-strip{margin-top:5px;flex-basis:37px;min-height:37px}.zone-strip button{min-height:35px;font-size:11px;padding:4px 8px}.map-footer{display:none}.geometry-note{font-size:9px;max-height:22px}.map-tools{bottom:5px;right:5px;padding:1px}.map-tools button{height:32px;min-width:32px}.map-tools output{font-size:10px;min-width:32px}
}
@media(max-width:639px){
 .rotation-tip{display:flex;align-items:center;gap:10px;background:#e4ede0;border:1px solid #cedec8;border-radius:7px;color:#375846;margin:0 12px 12px;padding:9px 10px}.rotation-tip>span{font-size:25px}.rotation-tip p{font-size:12px;line-height:1.6;margin:0;flex:1}.rotation-tip button{border:1px solid #96b494;background:#fff;border-radius:5px;padding:8px;font-size:12px;color:#315d45;min-height:40px}
}

@media(min-width:640px) and (max-width:1100px) and (max-height:520px){
 .map-tools{top:50%;left:6px;right:auto;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:0;width:42px;padding:2px}.map-tools button{min-width:36px;width:36px;height:34px}.map-tools button:last-child{font-size:10px;padding:0;height:30px}.map-tools output{font-size:10px;line-height:20px}.map-tools>span{display:none}.map-context{top:5px;left:auto;right:6px}.map-context>span:first-child{font-size:9px;padding:1px 5px;background:#ffffffdc}
}

@media(max-width:1100px){.date-control input{font-size:16px}}
@media(min-width:640px) and (max-width:740px){.header-controls #current-date{display:none}}

/* Source PDF labels sit above zone colours without blocking zone clicks. */
#layout-svg .original-zone-labels{opacity:1;pointer-events:none}

/* Portrait phones: two fixed rows, with scrolling confined to progress text. */
@media(max-width:639px){
 html{height:100%;overflow:hidden;overscroll-behavior:none}
 body{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;padding-top:env(safe-area-inset-top)}
 .app-header{height:auto;min-height:0;flex:none;gap:5px;padding:6px max(10px,env(safe-area-inset-right)) 5px max(10px,env(safe-area-inset-left))}
 .identity{gap:7px}.brand-mark{width:23px;height:25px;font-size:18px;border-radius:5px}.identity h1{font-size:15px}.identity h1 span{font-size:13px;margin-left:8px;padding-left:8px}.identity p,.preview-badge{display:none}
 .header-controls{gap:6px;min-height:34px}.date-control{flex:1;min-width:0}.date-control input{font-size:16px;min-height:34px;height:34px;max-width:170px;padding:3px 6px}.plain-button{font-size:11px;min-height:34px;padding:3px}.refresh-button{font-size:11px;min-height:34px;padding:3px 8px}.refresh-button span{font-size:15px;margin-right:3px}
 .status-bar{flex:none;min-height:22px;padding:2px 10px;font-size:9px;gap:6px;align-items:center}.status-bar>div{display:block;min-width:0}.status-bar #sync-time{font-size:8px}.status-bar #demo-toggle{display:none}#source-status:before{margin-right:4px;width:5px;height:5px}
 .rotation-tip{display:none}.notice{flex:none;max-height:44px;overflow:auto;padding:4px 10px;font-size:10px}
 .workspace{--panel-layout:stack;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,2fr) minmax(0,3fr);height:auto;min-height:0;flex:1;gap:6px;padding:0 max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));overflow:hidden}
 .panel-splitter{display:none}.progress-panel{order:0;min-height:0;max-height:none;width:100%}.map-panel{order:1;min-height:0;width:100%;overflow:hidden}
 .panel-heading{flex:none;padding:6px 11px 5px}.panel-heading .eyebrow{display:none}.panel-title-row h2{font-size:17px}#panel-description{font-size:10px;margin:1px 0 0}.back-button{font-size:11px;min-height:28px;padding:2px 0}
 .panel-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:0 11px 12px}
 .panel-bottom{flex:none;padding:3px 10px;font-size:9px;min-height:25px;align-items:center}.panel-bottom button{font-size:10px;min-height:24px}
 .metrics{padding:6px 0;margin-bottom:8px}.metric{padding-left:9px}.metric strong{display:inline;font-size:18px;margin-right:4px}.metric span{display:inline;font-size:10px;margin:0}.scope-note{font-size:10px;line-height:1.6;padding:6px 8px;margin:8px 0}
 .summary-list,.report-body p{font-size:14px;line-height:1.7}.summary-list li{margin-bottom:10px}.discipline{margin-bottom:13px}.discipline h3{font-size:13px;margin-bottom:7px}.summary-note{font-size:10px;padding-top:8px}
 .progress-panel[data-mode=zone] .metrics,.progress-panel[data-mode=zone] .scope-note,.progress-panel[data-mode=zone] .discipline[data-count="0"]{display:none}.progress-panel[data-mode=zone] .discipline{margin-top:8px}
 .report-entry summary{padding:8px 10px;min-height:40px}.report-entry summary strong{font-size:14px}.report-entry summary small{font-size:11px}.report-body{padding:0 10px 10px;display:flex;flex-direction:column}.report-body .mapping-note{order:3;font-size:10px;margin:6px 0}.report-meta{order:4;font-size:10px}.record-photos{margin-bottom:8px}
 .map-heading{flex:none;min-height:36px;padding:0 2px 4px;gap:8px;flex-wrap:nowrap;align-items:center}.map-heading .eyebrow{display:none}.map-heading h2{font-size:0;white-space:nowrap}.map-heading h2:before{content:"Layout";font-size:14px;font-weight:600}.map-heading h2 span{display:none}.floor-tabs{padding:2px;gap:0}.floor-tabs button{min-height:30px;min-width:40px;padding:3px 9px;font-size:12px}
 .map-meta{flex:none;min-height:16px;padding:0 2px 3px;flex-direction:row;align-items:center;font-size:9px}.map-meta #map-count{display:none}.legend{gap:10px;justify-content:flex-start}.legend>span{gap:3px}
 .map-canvas{display:flex;flex-direction:column;flex:1;min-height:0;height:auto;max-height:none;border-radius:6px}#layout-svg{flex:1;min-height:0;height:0;overscroll-behavior:none}
 .map-context{top:4px;left:5px}.map-context>span:first-child{font-size:9px;padding:1px 4px}.map-context>span:last-child{display:none}
 .map-tools{position:static;transform:none;flex:none;align-self:stretch;display:flex;flex-direction:row;justify-content:flex-end;height:30px;min-height:30px;padding:0 3px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;gap:2px}.map-tools button{height:29px;min-width:36px;font-size:17px}.map-tools button:last-child{font-size:11px;padding:0 9px}.map-tools output{font-size:10px;min-width:33px}.map-tools>span{height:14px;margin:0 2px}
 .zone-strip{flex:none;min-height:34px;margin-top:4px;gap:0;min-width:0}.zone-strip>span{display:none}.zone-strip>div{width:100%;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:4px}.zone-strip button{flex:0 0 auto;min-height:32px;padding:3px 8px;font-size:11px}.zone-strip button span{font-size:9px}
 .map-footer{display:none}.geometry-note{flex:none;max-height:24px;overflow:auto;font-size:9px;margin:2px 0 0;line-height:1.3}.zone-empty{padding:8px 0}.zone-empty .empty-icon{display:none}.zone-empty h3{font-size:14px}.zone-empty p{font-size:12px}
}

/* Keep secondary mobile controls around, rather than above, the content. */
.current-short{display:none}
@media(max-width:1100px){
 .zone-strip,.map-footer,.metrics{display:none}
 .progress-panel[data-mode=summary] .panel-content{display:flex;flex-direction:column}
 .progress-panel[data-mode=summary] .panel-content>*{flex:none}
 .progress-panel[data-mode=summary] .scope-note:not(.demo-note){order:2}
 .progress-panel[data-mode=summary] .summary-note{order:3}
}
.refresh-button .refresh-label{font-size:inherit;margin:0}
@media(max-width:639px){
 .app-header{flex-direction:row;align-items:center;justify-content:space-between;gap:6px;height:46px;min-height:46px;padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left))}
 .identity{gap:5px;flex:none}.brand-mark{width:23px;height:26px}.identity h1{font-size:14px;letter-spacing:0}.identity h1 span{display:none}
 .header-controls{width:auto;min-width:0;gap:4px;justify-content:flex-end}.date-control{flex:none}.date-control input{width:138px;max-width:none;height:36px;min-height:36px;padding:3px 4px;font-size:16px}
 .current-label,.refresh-button .refresh-label{display:none}.current-short{display:inline}.plain-button{font-size:11px;padding:2px 4px;min-height:36px;min-width:34px}
 .refresh-button{width:34px;height:36px;min-height:36px;padding:0;display:grid;place-items:center}.refresh-button span{font-size:23px;margin:0;line-height:1}
 .status-bar{min-height:20px;padding:1px 8px;font-size:8px;gap:4px}.status-bar #sync-time{font-size:8px}
 .workspace{grid-template-rows:minmax(0,1fr) minmax(0,min(56%,calc(100vw - 8px)));gap:4px;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));padding-bottom:max(4px,env(safe-area-inset-bottom))}
 .panel-heading{padding:5px 10px 4px}.panel-title-row h2{font-size:17px}.panel-bottom{padding:1px 9px;min-height:26px}.panel-bottom button{min-height:24px}.panel-content{padding:8px 10px 12px}.metrics{display:none}
 .progress-panel[data-mode=summary] .panel-content{display:flex;flex-direction:column}
 .progress-panel[data-mode=summary] .panel-content>*{flex:none}
 .progress-panel[data-mode=summary] .scope-note:not(.demo-note){order:2}
 .progress-panel[data-mode=summary] .summary-note{order:3}
 .map-panel{position:relative}.map-heading{min-height:24px;height:24px;padding:0 3px;align-items:center}.map-heading h2:before{font-size:13px}
 .map-meta{position:absolute;top:3px;right:3px;min-height:18px;padding:0;font-size:8px}.legend{gap:7px}.legend>span{gap:3px}.legend .dot{height:6px;width:6px}
 .map-canvas{display:block;min-height:0}#layout-svg{height:100%;width:100%}
 .map-canvas .floor-tabs{position:absolute;left:4px;top:5px;z-index:3;display:flex;flex-direction:column;gap:1px;padding:2px;background:#eef2ebf5;border:1px solid #dce4d8;border-radius:5px}
 .floor-tabs button{min-height:32px;height:32px;min-width:32px;width:32px;padding:0;font-size:11px}
 .map-context{left:auto;right:5px;top:4px}.map-context>span:first-child{background:#ffffffe6;font-size:9px;padding:0 4px}
 .map-tools{position:absolute;left:4px;bottom:5px;right:auto;top:auto;z-index:3;transform:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:auto;min-height:0;padding:1px;border:1px solid #dce4d8;border-radius:5px;background:#ffffffed;gap:0}
 .map-tools button{width:34px;min-width:34px;height:30px;font-size:19px}.map-tools button:last-child{height:28px;font-size:10px;padding:0}.map-tools output{font-size:9px;line-height:18px;min-width:32px}.map-tools>span{display:none}
 .zone-strip{display:none}
}
@media(max-width:359px){
 .identity{gap:3px}.identity h1{font-size:13px}.brand-mark{width:19px;height:23px;font-size:16px}.app-header{gap:3px;padding-left:5px;padding-right:5px}.header-controls{gap:2px}.date-control input{width:132px}.status-bar{font-size:7px}.status-bar #sync-time{font-size:7px}.legend{gap:5px}
}
@media(max-width:639px) and (max-height:620px){
 .floor-tabs button{height:28px;min-height:28px}.map-tools button{height:25px}.map-tools button:last-child{height:24px}.map-tools output{line-height:14px}
}

/* Portrait height adjustment shares the desktop separator and touch capture. */
@media(max-width:639px){
 .workspace{--min-details-height:160;--min-layout-height:200;grid-template-rows:minmax(0,var(--details-height,1fr)) 24px minmax(0,1fr);gap:0}
 .progress-panel{order:0}.panel-splitter{display:block;order:1;width:100%;height:24px;min-height:24px;cursor:row-resize;z-index:4}.map-panel{order:2}
 .panel-splitter:before{left:12px;right:12px;top:50%;bottom:auto;width:auto;height:1px;transform:translateY(-50%);background:#d9e1d6}
 .splitter-grip{width:48px;height:7px;border-radius:6px;background:#97ad9c;border-color:#829f8a;box-shadow:0 0 0 4px var(--canvas)}
 .splitter-grip:after{display:none}
 .panel-splitter:hover:before,.panel-splitter:focus-visible:before,.is-resizing-panels .panel-splitter:before{width:auto;height:1px}
 .map-canvas.is-short #layout-svg{height:calc(100% - 30px)}
 .map-canvas.is-short .floor-tabs button{height:27px;min-height:27px}
 .map-canvas.is-short .map-tools{left:auto;right:4px;bottom:2px;width:auto;height:28px;flex-direction:row;padding:0 2px}
 .map-canvas.is-short .map-tools button{height:26px;min-width:30px;width:30px}
 .map-canvas.is-short .map-tools button:last-child{width:44px;height:26px}
 .map-canvas.is-short .map-tools output{min-width:32px;line-height:26px}
}
body.is-resizing-rows,body.is-resizing-rows *{cursor:row-resize!important}

/* Category filters stay in the fixed heading while report cards scroll. */
.discipline-filter{display:flex;gap:4px;margin-top:8px;padding:3px;background:#f0f4ee;border-radius:6px}
.discipline-filter button{flex:1;min-width:0;min-height:32px;padding:3px 8px;border:0;border-radius:4px;background:transparent;color:#64766a;font-size:12px}
.discipline-filter button[aria-pressed=true]{background:var(--deep);color:#fff;font-weight:600}
.discipline-filter button[data-category=building][aria-pressed=true]{background:#22675b}
.discipline-filter button[data-category=mep][aria-pressed=true]{background:#47739b}
.discipline-filter button[data-category=civil][aria-pressed=true]{background:#926629}
@media(max-width:1100px){.discipline-filter{margin-top:5px;padding:2px}.discipline-filter button{min-height:28px;font-size:12px;padding:2px 6px}}

/* Elevations share the existing drawing switcher, pan and zoom controls. */
.map-heading{flex-wrap:wrap}
#floor-tabs-home{min-width:0;max-width:100%}
.floor-tabs{flex-wrap:wrap}
.floor-tabs .facade-tab{font-size:10px;letter-spacing:.01em}
.map-panel[data-view=facade] .legend,.map-panel[data-view=facade] .zone-strip{display:none}
.map-panel[data-view=facade] #map-count{display:block;font-size:10px;color:var(--accent)}
.map-panel[data-view=facade] #layout-svg image{opacity:1;filter:none}
.facade-reports{padding-top:8px}
@media(min-width:640px) and (max-width:1100px){
 #floor-tabs-home{width:100%}.floor-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.floor-tabs button{flex:none}
 .map-heading{flex-wrap:wrap}
}
@media(max-width:639px){
 .map-canvas .floor-tabs{flex-wrap:nowrap;max-height:calc(100% - 130px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#99ae9d transparent}
 .floor-tabs button{flex:none}.floor-tabs .facade-tab{font-size:9px}
 .floor-tabs .facade-tab:first-of-type{border-top:1px solid #bccdbd}
 .map-canvas.is-short .floor-tabs{max-height:calc(100% - 42px)}
 .map-panel[data-view=facade] .map-meta{top:2px}
 .map-panel[data-view=facade] .map-context{display:none}
}
@media(max-width:639px){
 /* Nine drawing choices use the side rail; zoom sits below the drawing. */
 .map-canvas .floor-tabs{max-height:calc(100% - 42px)}
 .map-canvas #layout-svg{height:calc(100% - 30px)}
 .map-canvas .map-tools{left:auto;right:4px;bottom:2px;top:auto;width:auto;height:28px;min-height:0;flex-direction:row;padding:0 2px}
 .map-canvas .map-tools button{height:26px;min-width:30px;width:30px}
 .map-canvas .map-tools button:last-child{height:26px;width:44px}
 .map-canvas .map-tools output{min-width:32px;line-height:26px}
}

/* Draw zoom glyphs geometrically to avoid font-baseline differences on iOS. */
.map-tools #zoom-in,.map-tools #zoom-out{display:grid;place-items:center;padding:0;line-height:1}
.zoom-icon{position:relative;display:block;width:14px;height:14px;flex:none}
.zoom-icon:before,.zoom-plus:after{content:"";position:absolute;background:currentColor;border-radius:1px}
.zoom-icon:before{width:14px;height:2px;left:0;top:6px}
.zoom-plus:after{width:2px;height:14px;left:6px;top:0}
@media(max-width:639px){
 .map-canvas .floor-tabs,.map-canvas.is-short .floor-tabs{top:5px;bottom:5px;max-height:none}
 .map-canvas .floor-tabs button,.map-canvas.is-short .floor-tabs button{flex:1 0 28px;height:auto;min-height:28px;display:grid;place-items:center}
}

/* Reserve a separate scrollbar lane; report markers follow the selected date. */
.floor-tabs button{display:flex;align-items:center;justify-content:center;gap:5px}
.floor-report-dot{display:block;flex:none;width:5px;height:5px;border-radius:50%;background:#34865a}
.floor-name{white-space:nowrap}
.zone-shape{fill:#bbc1bf;fill-opacity:.26;stroke:#9da6a2;stroke-width:1.1}
.zone-shape.has-reports{fill:#91cda5;fill-opacity:.34;stroke:#528d68;stroke-width:1.6}
.zone-shape:hover,.zone-shape:focus{fill-opacity:.42}
.zone-shape.is-selected{stroke:#b17929;stroke-width:2.7}
.zone-shape.is-selected:not(.has-reports){fill:#bbc1bf;fill-opacity:.26}
.zone-shape.is-selected.has-reports{fill:#91cda5;fill-opacity:.34}
.dot.selected{background:transparent;border:2px solid #b17929}
.zone-report-count{pointer-events:none}
.zone-report-count rect{fill:#f8fcf9;fill-opacity:.96}
.zone-report-count text{font-size:54px;font-weight:650;fill:#286844;dominant-baseline:central;text-anchor:start}
@media(max-width:639px){
 .map-canvas .floor-tabs{width:56px;padding:2px 8px 2px 2px;scrollbar-gutter:stable;scrollbar-width:thin}
 .map-canvas .floor-tabs::-webkit-scrollbar{width:5px}
 .map-canvas .floor-tabs::-webkit-scrollbar-thumb{background:#99ae9d;border-radius:4px}
 .map-canvas .floor-tabs button,.map-canvas.is-short .floor-tabs button{display:flex;min-width:38px;width:38px;gap:3px;flex-shrink:0}
 .floor-tabs .facade-tab{font-size:9px;letter-spacing:0}
 .floor-report-dot{width:4px;height:4px}
}

/* Elevators are a standalone priority group in both summaries and details. */
.discipline[data-kind=elevator]{border-left:3px solid #77629e;padding:10px 12px;background:#f6f3fa;border-radius:4px}
.discipline[data-kind=elevator] h3{color:#5d4a7e}
.discipline[data-kind=elevator] h3 i{background:#77629e}
.discipline-filter button[data-category=elevator][aria-pressed=true]{background:#70568f}
@media(max-width:639px){.discipline-filter button{padding-left:3px;padding-right:3px}.discipline[data-kind=elevator]{padding:8px}}

/* A/B/C/D are independent material selections on the registered elevation. */
.facade-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:12px;padding:3px;border-radius:6px;background:#eef2eb}
.facade-filter button{position:relative;border:1px solid transparent;border-radius:4px;background:transparent;min-height:44px;padding:5px 3px;display:flex;justify-content:center;align-items:center;gap:5px;color:#617364;font-size:11px}
.facade-filter button strong{font-size:12px}.facade-filter button small{font-size:10px;opacity:.75}
.facade-filter button[aria-pressed=true]{background:var(--deep);color:white}
.facade-filter button:hover{border-color:#94ad99}
.facade-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 2px;color:#819080;font-size:11px;line-height:1.65}
.facade-scope button{white-space:nowrap;flex:none;background:none;border:0;border-bottom:1px solid #b8c9bc;padding:0;color:var(--accent);font-size:11px}
.material-caption{font-size:11px;font-weight:600;color:#5d7c65;margin:12px 0 4px}
.facade-report-group .report-entry{margin-top:0}
.facade-marker{cursor:pointer;outline:none}
.facade-marker rect{fill:#fff;stroke:#8c9c90;stroke-width:1;vector-effect:non-scaling-stroke}
.facade-marker text{font-weight:650;fill:#455e4b;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.facade-marker line{stroke:#6b8172;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.facade-marker circle{fill:#5f7a66;stroke:white;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.facade-marker.has-reports rect{fill:#e3f4e8;stroke:#4c8c63}
.facade-marker.is-selected rect{fill:#fff2d9;stroke:#b17929;stroke-width:2}
.facade-marker.is-selected text{fill:#936025}
.facade-marker:focus-visible rect{stroke:#426b9c;stroke-width:2.5}
.facade-map-key{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px;flex:none;margin-top:7px}
.facade-map-key button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:5px;border:1px solid #d2dbd1;border-radius:5px;background:#fff;color:#657766;font-size:11px;white-space:nowrap}
.facade-map-key button strong{font-size:12px;color:#374e40}.facade-map-key button small{font-size:10px}
.facade-map-key button.has-reports{background:#edf7ef;border-color:#84af92}
.facade-map-key button[aria-pressed=true]{background:#fff1d9;border-color:#b17929;color:#88591d}
.facade-map-key button[aria-pressed=true] strong{color:#88591d}
.facade-location-point{fill:#fff;stroke:#627e6a;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}
.facade-location-point.is-selected{fill:#fff1d9;stroke:#b17929;stroke-width:2}
@media(max-width:639px){.facade-map-key{gap:3px;margin-top:4px}.facade-map-key button{min-height:36px;gap:3px;padding:3px;font-size:10px}.facade-map-key button strong{font-size:11px}}
.map-panel[data-view=facade] .legend{display:flex}
@container (max-width:540px){.facade-filter button{flex-wrap:wrap;gap:1px 4px}.facade-filter button span{font-size:10px}}
@media(max-width:639px){
 .facade-filter{margin-top:6px;gap:2px;padding:2px}
 .facade-filter button{min-height:39px;font-size:10px;gap:0 3px;flex-wrap:wrap;align-content:center;padding:3px 1px}
 .facade-filter button strong{font-size:11px}.facade-filter button span{font-size:10px;order:2;width:100%;line-height:1.15}.facade-filter button small{font-size:9px}
 .facade-scope{padding-top:7px;font-size:10px;gap:8px}.facade-scope button{font-size:10px}
 .map-panel[data-view=facade] #map-count{display:none}
}
