.panorama-panel{margin-bottom:20px}.pano-toolbar{background:#173943;color:white;display:flex;align-items:center;gap:15px;padding:12px 16px;font-size:11px}.synthetic-label{color:#ffd887;font-size:10px;letter-spacing:.7px;border:1px solid #8d7657;border-radius:3px;padding:5px 7px}.pano-toolbar select{background:#254b55;color:white;border-color:#4f6971}.pano-location{margin-left:auto;color:#b4c9ce}.pano-button{color:white;font-size:23px}.pano-surface{position:relative;height:420px;background:#18353d;overflow:hidden}.pano-surface canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.pano-loading{position:absolute;inset:0;display:grid;place-items:center;background:#19363e;color:#b9d2d8;font-size:14px;pointer-events:none}.pano-measures{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pano-measures polyline{stroke:#fdeb59;stroke-width:3;fill:none}.pano-measures circle{fill:#fdeb59;stroke:#33454f;stroke-width:1}.pano-measures text{fill:white;font-size:14px;paint-order:stroke;stroke:#17333c;stroke-width:4px}.pano-hotspot{position:absolute;transform:translate(-50%,-50%);border-radius:5px;background:#fff;box-shadow:0 3px 20px #13333c60;display:grid;grid-template-columns:25px 1fr;text-align:left;padding:9px 12px;gap:2px 8px;border-left:3px solid #0892a5;white-space:nowrap}.pano-hotspot>span{grid-row:span 2;border-radius:50%;background:#e4f4f6;color:#07869a;font-size:22px;align-self:center;text-align:center}.pano-hotspot strong{font-size:12px}.pano-hotspot small{font-size:10px;color:#81979e}.pano-compass{position:absolute;left:15px;top:15px;background:#15343bd9;border:1px solid #aec3cb6b;border-radius:4px;padding:8px 10px;font-size:9px;color:#dce7ea}.pano-compass b{display:block;text-align:center;font-size:16px;margin-top:4px}.pano-zoom{position:absolute;right:15px;top:15px;display:grid;border-radius:5px;overflow:hidden}.pano-zoom button{background:#fff;color:#1a4652;width:32px;height:31px;font-size:20px;border-bottom:1px solid #dfe9ec}.pano-arrows{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#15343be6;border-radius:6px;gap:13px;color:white;padding:6px;white-space:nowrap}.pano-arrows button{color:white;background:#ffffff20;width:32px;height:30px;border-radius:4px;font-size:20px}.pano-arrows span{font-size:12px}.pano-bottom{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:10px 13px;flex-wrap:wrap}.pano-tools{display:flex;gap:3px}.pano-tools button{padding:7px 9px;border:1px solid #e0e8eb;border-radius:4px;font-size:11px}.pano-tools button.active{background:#e3f5f6;color:#098497;border-color:#a8dbe1}#pano-hint{font-size:11px;color:#8b9da3}.pano-provenance{font-size:11px;line-height:1.6;background:#fff9ec;color:#9a7b3c;padding:10px 15px;border-top:1px solid #efe4ca}.panorama-panel:fullscreen{border:0;display:flex;flex-direction:column;background:white}.panorama-panel:fullscreen .pano-surface{flex:1;height:auto}.map-panel{position:relative}.layer-toggle{font-size:11px;border:1px solid #cfdee2;background:white;padding:5px 8px;border-radius:4px;color:#288396}.map-filter-panel{position:absolute;top:153px;right:12px;width:200px;background:#fffffff0;border:1px solid #d7e2e6;border-radius:6px;z-index:700;box-shadow:0 2px 12px #1d495621;max-height:270px;overflow:auto;backdrop-filter:blur(4px);font-size:11px}.map-filter-panel details+details{border-top:1px solid #dce6e9}.map-filter-panel summary{cursor:pointer;padding:12px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:5px}.map-filter-panel summary:after{content:'⌄'}.map-filter-panel summary small{font-size:9px;color:#ac7c31;font-weight:400}.filter-group{padding:0 12px 10px}.filter-row{display:flex;align-items:center;gap:6px;margin:9px 0;cursor:pointer;line-height:1.2;font-size:11px}.filter-row .filter-count{margin-left:auto;font-size:9px;color:#81959c}.filter-row input{appearance:none;width:27px;height:15px;min-width:27px;border-radius:20px;background:#d6dfe3;position:relative;margin:0;cursor:pointer;transition:.15s}.filter-row input:checked{background:#739bed}.filter-row input:before{content:'';position:absolute;left:2px;top:2px;width:11px;height:11px;background:white;border-radius:50%;box-shadow:0 1px 2px #47667633}.filter-row input:checked:before{left:14px}.filter-row input:disabled{opacity:.35;cursor:default}.filter-row i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.filter-total{padding-top:8px;border-top:1px solid #e7eef0;color:#6a8189;font-size:10px;line-height:1.6}.filter-description{font-size:9px;color:#8c9ea5;line-height:1.6;margin:6px 0}.demo-dot{border:2px solid white;border-radius:50%;box-shadow:0 1px 4px #1d4259b0}.demo-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.demo-facts span{font-size:11px;color:#82949b;display:block}.demo-facts strong{font-size:17px;display:block;margin-top:4px}.demo-notice{border:1px solid #eddfbf;border-radius:5px;padding:12px;background:#fff9ed;color:#99783b;font-size:12px}.demo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.map-filter-panel .filter-row.individual{font-size:10px}.map-filter-panel .filter-row:has(input:disabled){opacity:.5}
@media(max-width:650px){.pano-surface{height:310px}.pano-toolbar{gap:7px;flex-wrap:wrap}.pano-location{display:none}.pano-toolbar .synthetic-label{font-size:9px}.pano-hotspot strong{font-size:10px}.pano-arrows span{font-size:10px}.pano-provenance{font-size:10px}.pano-toolbar label{font-size:10px}.map-filter-panel{width:183px;max-height:255px}.demo-facts{grid-template-columns:1fr 1fr}.pano-bottom{padding:8px}}
.panorama-map-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:20px;margin-bottom:20px}.panorama-map-grid .panorama-panel{margin-bottom:0}.panorama-map-grid .inspection-map{height:340px}.panorama-map-grid .layer-controls{grid-template-columns:repeat(2,1fr);max-height:130px}.panorama-map-grid .pano-surface{height:350px}.panorama-map-grid .pano-toolbar{flex-wrap:wrap;padding:10px}.panorama-map-grid .pano-location{display:none}.inspection-ai-filters{padding:10px 14px;border-top:1px solid var(--line)}.inspection-ai-filters>strong,.inspection-pm-title{font-size:11px}.inspection-ai-filters small,.inspection-pm-title small{font-size:9px;font-weight:400;color:#899da4;margin-left:6px}.inspection-ai-filters>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.inspection-ai-filters label{font-size:10px;display:flex;align-items:center;gap:4px}.inspection-ai-filters i{display:block;width:7px;height:7px;border-radius:50%}.inspection-ai-filters input{accent-color:var(--teal)}.inspection-pm-title{padding:8px 14px;background:#f5f9fa}.panorama-map-grid .pano-hotspot strong{font-size:10px}.panorama-map-grid .pano-provenance{font-size:10px}.panorama-map-grid .pano-tools button{font-size:10px;padding:6px}
@media(max-width:1100px){.panorama-map-grid{grid-template-columns:1fr}.panorama-map-grid .pano-surface{height:380px}.panorama-map-grid .layer-controls{grid-template-columns:repeat(3,1fr)}}
.panorama-map-grid .panorama-panel{display:flex;flex-direction:column}.panorama-map-grid .pano-surface{flex:1;min-height:420px}.crack-subtype{display:grid;gap:5px;font-size:10px;color:#7b919a;margin:12px 0}.crack-subtype select{margin:0;font-size:11px;max-width:100%}
@media(max-width:650px){.panorama-map-grid .pano-surface{min-height:310px}}
.selected-demo-card{padding:12px 14px;background:#fcf8ed;border-top:1px solid #ebe2d0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.selected-demo-card strong{font-size:12px}.selected-demo-card span{font-size:10px;color:#937c4e}.inspection-pm-title>label{float:right;font-size:10px;display:flex;align-items:center;gap:5px}.inspection-pm-title input{accent-color:var(--teal)}
@media print{.panorama-panel,.map-filter-panel{display:none}}

.pm-projection{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.pm-sync-evidence{padding:16px;border-top:2px solid #09889a;background:#f5fafb}.pm-sync-title{display:grid;gap:5px;font-size:12px}.pm-sync-title span,.pm-sync-evidence p{font-size:11px;color:#627f89;margin:8px 0}.pm-sync-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pm-sync-images button{background:#1d323b;padding:6px;border-radius:4px;color:white}.pm-sync-images img{width:100%;height:155px;object-fit:contain}.pm-sync-images span{display:block;font-size:10px;margin:5px}.pm-sync-evidence details{margin:12px 0;font-size:11px}.pm-sync-evidence dl{max-height:180px;overflow:auto}.pm-sync-evidence dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #dce8ed}.pm-sync-evidence dd{margin:0;overflow-wrap:anywhere}

.viewer-layer-panel{padding:14px;background:#f6fafb;border-top:1px solid #dce8ed;font-size:12px}.viewer-layer-panel summary{cursor:pointer;font-weight:700;color:#167c90}.viewer-layer-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.viewer-layer-groups fieldset{border:1px solid #dae6e9;border-radius:5px;min-width:0;max-height:230px;overflow:auto;padding:10px}.viewer-layer-groups legend small{font-size:9px;color:#79929b}.viewer-layer-groups label{display:flex;align-items:center;gap:5px;font-size:10px;margin:10px 0}.viewer-layer-groups label small{margin-left:auto}.viewer-layer-groups i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.viewer-layer-groups input{accent-color:#09889a}.viewer-layer-panel p{font-size:10px;color:#6b8590;margin-top:10px}.defect-attribute-card{position:absolute;z-index:850;right:12px;top:80px;width:min(315px,calc(100% - 24px));max-height:440px;overflow:auto;background:white;border:1px solid #dce5e9;border-radius:7px;box-shadow:0 6px 24px #17333c33;padding:15px;font-size:11px}.defect-attribute-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.attribute-source{border-top:3px solid #168d9e;padding-top:10px;margin:12px 0}.attribute-source>p{font-size:10px;color:#728993;margin:8px 0}.attribute-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.attribute-grid>div{min-width:0;border-bottom:1px solid #e8edef;padding-bottom:6px}.attribute-grid span{display:block;font-size:9px;color:#718991}.attribute-grid strong{display:block;font-size:10px;overflow-wrap:anywhere;margin-top:3px}.attribute-source details{margin-top:12px}.pm-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pm-image-pair figure{margin:0}.pm-image-pair figcaption{font-size:11px;text-align:center}.defect-attribute-card .button{margin-top:10px}.pm-projection{z-index:3}

.defect-attribute-card{z-index:1200}

/* PM detail is opened on selection, not displayed beside the overview map. */
#overview-view .evidence-panel{display:none}#overview-view .workspace-grid{grid-template-columns:minmax(0,1fr)}
#inspection-view>.inspection-layout,#inspection-view>.inspection-details{display:none}

#road-panorama{position:relative}#viewer-layer-toggle{margin-left:auto;background:#087f94;color:white;border:1px solid #8bbbc4;padding:7px 12px;font-weight:700;white-space:nowrap}#road-panorama>.viewer-layer-panel{position:absolute;top:58px;right:10px;width:min(480px,calc(100% - 20px));max-height:410px;overflow:auto;z-index:30;background:#fffffff5;border:1px solid #b8d7df;border-radius:7px;box-shadow:0 8px 30px #102f4260}#road-panorama .pano-toolbar{flex-wrap:wrap}#fit-inspection{white-space:nowrap}

#viewer-layer-toggle{font-size:12px;line-height:18px}#road-panorama .pano-toolbar select{max-width:210px}

/* Dock the layer controls outside the image so inspection remains unobstructed. */
#road-panorama>.viewer-layer-panel{position:static;width:100%;max-height:none;margin:0;padding:10px 14px;background:#f8fbfc;border:0;border-top:1px solid #d5e4e8;border-radius:0;box-shadow:none;z-index:auto}
#road-panorama.layers-docked .pano-surface{height:360px}
.viewer-layer-panel>details>summary{display:none}
.layer-dock-tabs{display:flex;gap:7px;align-items:center;margin-bottom:8px}
.layer-dock-tabs button{font-size:12px;font-weight:600;padding:7px 10px;border-radius:5px;border:1px solid #d9e6ea;background:white;color:#54727d}
.layer-dock-tabs button[aria-selected=true]{background:#e1f3f5;color:#087f94;border-color:#8bc6d0}
.layer-dock-tabs small{font-size:9px;font-weight:400;margin-left:5px}
#close-layer-dock{margin-left:auto;padding:4px 9px;font-size:18px}
.viewer-layer-panel .viewer-layer-groups{display:block;margin:0}
.viewer-layer-panel .viewer-layer-groups fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 10px;border:0;padding:0;margin:0;max-height:116px;overflow:auto;align-content:start}
.viewer-layer-panel[data-active-tab=ai] fieldset:nth-child(2),.viewer-layer-panel[data-active-tab=pm] fieldset:first-child{display:none}
.viewer-layer-panel .viewer-layer-groups legend{display:none}
.viewer-layer-panel .viewer-layer-groups label{margin:0;padding:6px 3px;font-size:10px;min-height:29px}
.viewer-layer-panel .viewer-layer-groups input{margin:0 3px 0 0;flex-shrink:0}
.viewer-layer-panel p{font-size:10px;margin:6px 0 0;line-height:1.4}
#next-ai-section{font-size:10px;padding:5px 9px;margin-top:6px}
@media(max-width:1100px){.viewer-layer-panel .viewer-layer-groups fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#road-panorama.layers-docked .pano-surface{height:300px}.layer-dock-tabs button{font-size:11px;padding:6px 8px}.layer-dock-tabs small{display:none}}

#road-panorama.layers-docked .pano-surface{height:clamp(240px,40vh,360px)!important}#road-panorama.layers-docked .pano-provenance{display:none}#road-panorama.layers-docked .pano-bottom{padding:6px 10px}#road-panorama.layers-docked #pano-hint{display:none}

/* Compact right-side layer popover requested for the 360 viewer. */
#road-panorama>.viewer-layer-panel{position:absolute;right:8px;top:64px;width:224px;max-width:calc(100% - 55px);max-height:245px;padding:9px;background:rgba(255,255,255,.96);border:1px solid #bed5dc;border-radius:6px;box-shadow:0 4px 16px #16343e30;z-index:25;overflow:auto}
#road-panorama.layers-docked .pano-surface{height:350px!important}
#road-panorama.layers-docked .pano-provenance{display:block}
#road-panorama.layers-docked .pano-bottom{padding:10px 13px}
#road-panorama.layers-docked #pano-hint{display:block}
#road-panorama>.viewer-layer-panel .layer-dock-tabs{gap:3px;margin-bottom:6px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs button{font-size:10px;padding:5px 6px;line-height:16px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs small{display:none}
#road-panorama>.viewer-layer-panel #close-layer-dock{padding:2px 5px;font-size:15px}
#road-panorama>.viewer-layer-panel .viewer-layer-groups fieldset{grid-template-columns:1fr;max-height:155px;gap:0;padding-right:4px}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label{font-size:10px;padding:4px 1px;min-height:25px}
#road-panorama>.viewer-layer-panel p{display:none}
#road-panorama>.viewer-layer-panel #next-ai-section{font-size:9px;padding:4px 5px;margin-top:5px;line-height:1.3;width:100%}
#road-panorama .pano-toolbar{position:relative;z-index:26}
#road-panorama.layers-docked .pano-zoom{right:auto;left:15px;top:76px}
@media(min-width:1600px){#road-panorama.layers-docked .pano-surface{height:440px!important}}
@media(max-width:650px){#road-panorama>.viewer-layer-panel{width:195px}#road-panorama.layers-docked .pano-surface{height:310px!important}}

/* Slim right-edge layer rail. */
#road-panorama>.viewer-layer-panel{width:176px;right:7px;padding:7px;max-height:290px;background:rgba(255,255,255,.94)}
#road-panorama>.viewer-layer-panel .layer-dock-tabs{display:grid;grid-template-columns:1fr 1fr 19px;gap:2px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs button{padding:4px 2px;font-size:9px;letter-spacing:-.2px}
#road-panorama>.viewer-layer-panel #close-layer-dock{padding:2px;font-size:14px;margin:0}
#road-panorama>.viewer-layer-panel .viewer-layer-groups fieldset{max-height:210px;padding-right:2px}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label{font-size:9px;gap:4px;min-height:25px}
#road-panorama>.viewer-layer-panel #next-ai-section{white-space:normal;font-size:9px}
@media(max-width:650px){#road-panorama>.viewer-layer-panel{width:160px}}

.map-layer-rail{position:absolute;right:7px;width:176px;max-width:calc(100% - 52px);max-height:290px;overflow:auto;z-index:900;padding:7px;background:rgba(255,255,255,.95);border:1px solid #bed5dc;border-radius:6px;box-shadow:0 4px 16px #16343e30}
.map-rail-tabs{display:grid;grid-template-columns:1fr 1fr 19px;gap:2px;margin-bottom:6px}
.map-rail-tabs button{font-size:9px;padding:4px 2px;border:1px solid #d9e6ea;border-radius:4px;background:white;color:#54727d;line-height:16px}
.map-rail-tabs button[aria-pressed=true]{background:#e1f3f5;color:#087f94;border-color:#8bc6d0}
.map-layer-rail .inspection-ai-filters,.map-layer-rail .inspection-pm-title{padding:4px 0;border:0;background:transparent}
.map-layer-rail .inspection-ai-filters>strong{font-size:9px;display:block;margin-bottom:7px}
.map-layer-rail .inspection-ai-filters>strong small{display:block;margin:4px 0}
.map-layer-rail .inspection-ai-filters>div{display:grid;gap:0;margin:0}
.map-layer-rail .inspection-ai-filters label,.map-layer-rail .inspection-pm-title label{font-size:9px;padding:5px 1px;display:flex;align-items:center;gap:4px}
.map-layer-rail .inspection-pm-title{font-size:0}.map-layer-rail .inspection-pm-title>small{display:none}
.map-layer-rail #layer-controls{grid-template-columns:1fr;max-height:205px;padding:0;border:0;gap:0}
.map-layer-rail #layer-controls label{font-size:9px;padding:5px 1px;gap:4px}
#map-layer-toggle{white-space:nowrap;padding:7px 10px;font-size:11px}
.panorama-map-grid>.panel>.panel-heading{flex-wrap:wrap;gap:8px}
@media(max-width:650px){.map-layer-rail{width:160px}}
.map-layer-rail [data-map-group]{display:block}.map-layer-rail .inspection-pm-title{display:block;float:none;width:100%;margin:0}.map-layer-rail .inspection-pm-title label{margin:0;justify-content:flex-start}.map-layer-rail #layer-controls{clear:both;width:100%}

/* Half-width layer rails: 176px -> 88px. */
#road-panorama>.viewer-layer-panel,.map-layer-rail{width:88px;padding:5px;max-height:340px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs,.map-rail-tabs{grid-template-columns:minmax(0,1fr);gap:3px;position:relative;padding-top:17px}
#road-panorama>.viewer-layer-panel #close-layer-dock,#map-rail-close{position:absolute;right:0;top:0;width:17px;height:17px;padding:0;font-size:12px;line-height:15px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs button,.map-rail-tabs button{font-size:9px;padding:3px 1px;white-space:normal;overflow-wrap:anywhere}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label,.map-layer-rail #layer-controls label,.map-layer-rail .inspection-ai-filters label{flex-wrap:wrap;gap:3px;line-height:1.25;padding:5px 0;overflow-wrap:anywhere}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label small,.map-layer-rail #layer-controls label small{margin-left:auto}
#road-panorama>.viewer-layer-panel .viewer-layer-groups fieldset,.map-layer-rail #layer-controls{max-height:230px;padding-right:2px}
.map-layer-rail .inspection-ai-filters small{overflow-wrap:anywhere}
@media(max-width:650px){#road-panorama>.viewer-layer-panel,.map-layer-rail{width:80px}}

/* Compact, readable rails: enough room for complete labels and counts. */
#road-panorama>.viewer-layer-panel,.map-layer-rail{width:190px;padding:8px;max-height:310px;overflow-x:hidden}
#road-panorama>.viewer-layer-panel .layer-dock-tabs,.map-rail-tabs{grid-template-columns:1fr 1fr 18px;padding-top:0;gap:3px}
#road-panorama>.viewer-layer-panel #close-layer-dock,#map-rail-close{position:static;width:18px;height:23px;line-height:20px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs button,.map-rail-tabs button{font-size:10px;padding:4px 2px;white-space:nowrap;overflow-wrap:normal}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label,.map-layer-rail #layer-controls label,.map-layer-rail .inspection-ai-filters label{display:flex;flex-wrap:nowrap;white-space:nowrap;font-size:10px;gap:4px;padding:5px 0;line-height:1.4;overflow-wrap:normal;min-width:0}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label input,.map-layer-rail input{flex-shrink:0;margin:0 2px 0 0}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label i,.map-layer-rail .legend-dot{flex-shrink:0}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label small,.map-layer-rail #layer-controls label small{margin-left:auto;flex-shrink:0;font-size:9px}
#road-panorama>.viewer-layer-panel .viewer-layer-groups fieldset,.map-layer-rail #layer-controls{max-height:210px;overflow-x:hidden;scrollbar-gutter:stable;padding-right:3px}
.map-layer-rail .inspection-ai-filters>strong{font-size:10px}.map-layer-rail .inspection-ai-filters>strong small{font-size:9px;line-height:1.4}
@media(max-width:650px){#road-panorama>.viewer-layer-panel,.map-layer-rail{width:190px}}

/* 65% of the previous 190px width. */
#road-panorama>.viewer-layer-panel,.map-layer-rail{width:123.5px;padding:5px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs,.map-rail-tabs{grid-template-columns:minmax(0,1fr) 18px;gap:3px}
#road-panorama>.viewer-layer-panel .layer-dock-tabs button[data-layer-tab],.map-rail-tabs button[data-map-tab]{grid-column:1;font-size:9px;padding:3px 1px}
#road-panorama>.viewer-layer-panel #close-layer-dock,#map-rail-close{grid-column:2;grid-row:1}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label,.map-layer-rail #layer-controls label,.map-layer-rail .inspection-ai-filters label{font-size:9px;gap:3px;white-space:normal;line-height:1.3}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label input,.map-layer-rail input{width:11px;height:11px;margin-right:0}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label i,.map-layer-rail .legend-dot,.map-layer-rail .inspection-ai-filters i{width:6px;height:6px}
#road-panorama>.viewer-layer-panel .viewer-layer-groups label small,.map-layer-rail #layer-controls label small{font-size:8px}
@media(max-width:650px){#road-panorama>.viewer-layer-panel,.map-layer-rail{width:123.5px}}

#road-panorama>.viewer-layer-panel,.map-layer-rail{background:rgba(255,255,255,.5)}

#road-panorama>.viewer-layer-panel,.map-layer-rail{background:rgba(255,255,255,.7)}

/* Keep selected attributes beneath the map, in normal document flow. */
.defect-attribute-card{position:relative;inset:auto;z-index:auto;box-sizing:border-box;width:100%;max-height:none;overflow:visible;margin:0;border:0;border-top:1px solid #dce5e9;border-radius:0;box-shadow:none;padding:16px 20px;background:#fff}
.defect-attribute-card .attribute-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px 16px}

.survey-track-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #dce5e9;font-size:11px}.survey-track-controls label{display:flex;align-items:center;gap:5px}.survey-track-controls span{color:#708994;font-size:10px}.survey-track-controls a{color:#087e96;text-decoration:none}

.viewer-track-control{display:flex;align-items:center;gap:4px;font-size:10px;padding:6px 0;border-bottom:1px solid #cddfe5}.viewer-track-control input{accent-color:#09889a}

.pano-track-overview{position:absolute;left:12px;bottom:72px;z-index:5;width:132px;box-sizing:border-box;padding:8px;background:rgba(255,255,255,.85);border:1px solid #b7d8df;border-radius:6px;color:#234653;box-shadow:0 2px 8px #16343c22}.pano-track-overview[hidden]{display:none}.pano-track-overview strong{display:flex;justify-content:space-between;font-size:11px}.pano-track-overview small{font-size:9px}.pano-track-overview svg{display:block;width:100%;height:124px}.pano-track-overview span{display:block;font-size:9px;line-height:1.5}.pano-track-overview [data-route-index]{cursor:pointer;pointer-events:stroke}

/* PavementAI road navigation chevrons. */
.pano-surface .pano-arrows{position:absolute;inset:0;transform:none;display:block;background:none;padding:0;border:0;box-shadow:none;pointer-events:none;z-index:6}
.pano-surface .pano-arrows button{position:absolute;left:50%;transform:translateX(-50%);width:82px;height:44px;padding:4px;background:transparent;border:0;border-radius:0;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 2px 2px #0009)}
.pano-surface .pano-arrows button[data-pan="next"]{top:55%}
.pano-surface .pano-arrows button[data-pan="previous"]{top:66%}
.pano-surface .pano-arrows button svg{width:100%;height:100%;overflow:visible}
.pano-surface .pano-arrows button path{fill:none;stroke:white;stroke-width:7;stroke-linejoin:miter}
.pano-surface .pano-arrows button:hover{filter:drop-shadow(0 2px 3px #000c);background:#ffffff18}
.pano-surface .pano-arrows button:focus-visible{outline:2px solid #19bed3;border-radius:4px}
.pano-surface .pano-arrows button:disabled{opacity:.25;cursor:default}
.pano-surface .pano-arrows>span{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);padding:7px 12px;white-space:nowrap;border-radius:4px;background:#173943b3;color:white;font-size:11px}

.compact-map-panel{position:relative;overflow:hidden;min-height:620px}.compact-map-panel>.panel-heading,.compact-map-panel>.panel-footnote,.compact-map-panel>.survey-track-controls{display:none}.compact-map-panel #inspection-map{height:100%;min-height:620px}.compact-map-panel:fullscreen #inspection-map{height:100vh}.pa-map-tools{position:absolute;right:10px;top:10px;z-index:950;display:grid;gap:9px}.pa-map-tools .button{width:36px;height:36px;min-width:0;padding:0;display:grid;place-items:center;background:#3094a5;color:white;font-size:21px;border:0;border-radius:8px;box-shadow:0 2px 5px #16343c22}.pa-map-tools .button:first-child{background:white;color:#45606b;border-radius:3px}.compact-map-panel .map-layer-rail{right:54px}.map-survey-badge{position:absolute;top:12px;left:52px;z-index:800;background:#ffffffdc;padding:7px 10px;border-radius:5px;font-size:10px;color:#315360}.ai-map-popup{position:absolute;left:12px;right:auto;top:58px;width:min(285px,calc(100% - 70px));max-height:460px;overflow:auto;z-index:1000;background:white;border:1px solid #dce5e9;border-radius:6px;box-shadow:0 3px 14px #17333c33;padding:14px}.ai-map-popup .attribute-grid{grid-template-columns:1fr 1fr}
.compact-map-panel>.selected-demo-card{display:none}

.pa-map-tools .pm-logo-button{background:#fff;padding:5px}.pa-map-tools .pm-logo-button img{display:block;width:26px;height:26px;object-fit:contain;border-radius:3px}

.pano-frame-label{position:absolute;left:12px;bottom:50px;z-index:5;background:#173943b3;color:#fff;padding:5px 8px;border-radius:3px;font-size:10px;pointer-events:none}

.imagery-mode-bar{display:flex;gap:6px;padding:10px;background:#173943}.imagery-mode-bar button{padding:8px 10px;color:#e1f3f7;background:#254b55;border:1px solid #4f6971;border-radius:4px;font-size:11px;cursor:pointer}.imagery-mode-bar button[aria-pressed=true]{background:#09899c;color:#fff}.gsv-photo-sequence{background:white}.gsv-sequence-heading{padding:14px;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;font-size:11px}.gsv-sequence-heading span{color:#718991}.gsv-original{display:block;background:#173943}.gsv-original img{display:block;width:100%;height:auto;object-fit:contain}.gsv-sequence-nav{padding:12px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px}.gsv-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:0 12px 12px}.gsv-thumbnails button{position:relative;padding:2px;border:2px solid transparent;background:#f1f6f7;border-radius:4px;cursor:pointer}.gsv-thumbnails button[aria-pressed=true]{border-color:#00899c}.gsv-thumbnails img{display:block;width:100%;height:auto}.gsv-thumbnails span{position:absolute;bottom:2px;right:3px;background:#173943d9;color:white;padding:1px 4px;font-size:9px}.gsv-reference-note{margin:0;padding:12px;background:#f5f9fa;color:#657e89;font-size:11px;line-height:1.5}#road-panorama[data-imagery-mode=photos]>.pano-toolbar,#road-panorama[data-imagery-mode=photos]>.pano-surface,#road-panorama[data-imagery-mode=photos]>.pano-bottom,#road-panorama[data-imagery-mode=photos]>.pano-provenance,#road-panorama[data-imagery-mode=photos]>.viewer-layer-panel{display:none!important}#road-panorama[data-imagery-mode=synthetic]>.gsv-photo-sequence{display:none}

/* Give the inspection panorama the full panel, with compact floating controls. */
#road-panorama>.imagery-mode-bar,#road-panorama>.gsv-photo-sequence{display:none!important}
#road-panorama>.pano-toolbar{position:absolute;top:10px;right:10px;z-index:35;display:flex;flex-direction:column;gap:9px;padding:0;background:transparent;flex-wrap:nowrap}
#road-panorama>.pano-toolbar>span,#road-panorama>.pano-toolbar>label{display:none}
#road-panorama>.pano-toolbar .pano-button{display:grid;place-items:center;width:36px;height:36px;padding:0;margin:0;border:0;border-radius:5px;background:white;color:#45606b;font-size:21px;box-shadow:0 2px 5px #16343c22}
#road-panorama>.pano-toolbar #viewer-layer-toggle{background:#3094a5;color:white;font-size:20px}
#road-panorama .pano-surface,#road-panorama.layers-docked .pano-surface{height:max(620px,72vh)!important;min-height:0}
#road-panorama .pano-zoom{left:15px;right:auto;top:82px}
#road-panorama>.viewer-layer-panel{top:100px!important;right:10px}
#road-panorama:fullscreen .pano-surface{height:auto!important;flex:1}
@media(max-width:650px){#road-panorama .pano-surface,#road-panorama.layers-docked .pano-surface{height:70vh!important;min-height:400px}}

/* Edge handles resize the viewing area; all remaining controls float over it. */
.panorama-map-grid.adjustable-viewers{display:grid!important;grid-template-columns:minmax(0,var(--viewer-split,52fr)) 14px minmax(0,var(--map-split,48fr))!important;gap:0!important;align-items:start}
.adjustable-viewers>#road-panorama,.adjustable-viewers>.compact-map-panel{box-sizing:border-box;min-width:0;min-height:320px!important;max-height:none!important;margin:0;position:relative;overflow:hidden}
.adjustable-viewers>#road-panorama>.pano-bottom,.adjustable-viewers>#road-panorama>.pano-provenance{display:none!important}
.panorama-map-grid.adjustable-viewers>#road-panorama>.pano-surface,.panorama-map-grid.adjustable-viewers>#road-panorama.layers-docked>.pano-surface{height:100%!important;min-height:0!important;max-height:none!important;flex:none}
.panorama-map-grid.adjustable-viewers>.compact-map-panel>#inspection-map{height:100%!important;min-height:0!important;max-height:none!important}
.viewer-width-handle{height:100%;min-height:320px;align-self:stretch;cursor:col-resize;touch-action:none;position:relative}
.viewer-width-handle:after{content:'';position:absolute;top:40%;bottom:40%;left:5px;width:4px;border-radius:4px;background:#9dbec5}
.viewer-width-handle:hover:after,.viewer-width-handle:focus:after{background:#078b9e}
.viewer-height-handle{position:absolute;bottom:0;left:0;right:0;height:12px;z-index:1100;cursor:row-resize;touch-action:none;background:linear-gradient(transparent,#17394322)}
.viewer-height-handle:after{content:'';position:absolute;bottom:3px;left:calc(50% - 22px);width:44px;height:4px;border-radius:4px;background:#fff;border:1px solid #6d969f}
.viewer-height-handle:focus-visible,.viewer-width-handle:focus-visible{outline:2px solid #098b9b;outline-offset:-2px}
.adjustable-viewers>:fullscreen{height:100vh!important;width:100vw!important}
.adjustable-viewers>:fullscreen>.viewer-height-handle{display:none}
@media(max-width:700px){.panorama-map-grid.adjustable-viewers{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.viewer-width-handle{display:none}}

.inspection-basemap{position:absolute;top:10px;left:52px;z-index:950;display:flex;border:1px solid #d5e3e7;border-radius:4px;overflow:hidden;box-shadow:0 1px 5px #17394325}
.inspection-basemap button{padding:9px 12px;background:#fff;color:#425c66;font-size:12px;border:0;cursor:pointer}.inspection-basemap button+button{border-left:1px solid #d5e3e7}.inspection-basemap button[aria-pressed=true]{color:#087f94;background:#e6f5f7;font-weight:700}.compact-map-panel .map-survey-badge{top:53px;left:52px;font-size:9px;padding:4px 6px}
.pm-map-evidence-link{position:absolute;bottom:26px;left:12px;z-index:700;background:#fff;box-shadow:0 2px 8px #173e4b25;text-decoration:none;font-size:12px;padding:9px 12px}.pa-map-tools a.pm-logo-button{display:flex;align-items:center;justify-content:center;text-decoration:none}

/* Compact inspection navigation and RSAI-style measurement controls. */
#inspection-view>.inspection-nav{display:none!important}.pano-drawing-tools{position:absolute;left:12px;bottom:12px;z-index:50;max-width:calc(100% - 24px);background:#fff;color:#23344b;border:1px solid #bacbcc;border-radius:4px;box-shadow:0 2px 8px #0002}.pano-drawing-tools summary{padding:9px 12px;cursor:pointer;font-size:12px;font-weight:600}.pano-drawing-tools .pano-bottom{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;padding:10px!important;max-width:420px}.pano-drawing-tools .pano-tools{display:flex;gap:4px;flex-wrap:wrap}.pano-drawing-tools #pano-hint{display:block!important;font-size:10px;max-width:350px}.pano-surface:not([data-measure-mode=view])[data-measure-mode] [data-source],.pano-surface:not([data-measure-mode=view])[data-measure-mode] [data-ai]{pointer-events:none!important}

#defect-attribute-card{z-index:1100;max-height:75%;overflow:auto}.pm-feature-choices{max-height:240px;overflow:auto}.pm-feature-choices button{display:block;margin:5px 0}

.pano-measures{z-index:4}.pano-measures .measurement-endpoint circle{fill:#227c82;stroke:#fff;stroke-width:2}.pano-measures .measurement-endpoint[data-endpoint="end"] circle{fill:#fff;stroke:#227c82;stroke-width:2}.pano-measures .measurement-endpoint path{stroke:#173943;stroke-width:1.5;fill:none}.pano-measures .measurement-endpoint text{font-size:12px;font-weight:700}

.pano-drawing-tools{top:10px;bottom:auto;left:70px;right:55px;max-width:none;width:auto;border-radius:3px;background:#fffffff2}
.pano-drawing-tools summary{float:left;box-sizing:border-box;width:30px;padding:7px 4px;text-align:center;font-size:16px;line-height:20px;list-style:none;cursor:pointer}
.pano-drawing-tools summary::-webkit-details-marker{display:none}
.pano-drawing-tools:not([open]){right:auto;width:34px}
.pano-drawing-tools[open] .pano-bottom{display:block!important;margin-left:30px;padding:4px!important;max-width:none}
.pano-drawing-tools .pano-tools{flex-wrap:nowrap;gap:3px;overflow-x:auto;scrollbar-width:thin}
.pano-drawing-tools .pano-tools button{white-space:nowrap;flex:0 0 auto;padding:5px 6px;font-size:10px;line-height:18px}
.pano-drawing-tools #pano-hint{display:none!important}

#overview-view .workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:20px}
#overview-view .workspace-grid>.panel{min-width:0;margin-bottom:0}
#overview-view .workspace-grid>.profile-panel{display:flex;flex-direction:column}
#overview-view .profile-panel .panel-heading{flex-wrap:wrap;gap:12px}
#overview-view .profile-panel .profile{flex:1;min-height:320px;height:auto}
#overview-view .profile-footer{flex-wrap:wrap;gap:8px}
#overview-view>.review-panel{width:100%;margin-top:20px}
@media(max-width:1000px){#overview-view .workspace-grid{grid-template-columns:minmax(0,1fr)}#overview-view .profile-panel .profile{height:280px;flex:none;min-height:0}}
#overview-view .workspace-grid>.panel{margin-top:0}

/* Compact overview: equal-height map and chart, review list directly below. */
#overview-view .workspace-grid>.map-panel,#overview-view .workspace-grid>.profile-panel{height:400px;display:flex;flex-direction:column}
#overview-view #map{height:auto;min-height:0;flex:1}
#overview-view .profile-panel .profile{height:auto;min-height:0;flex:1}
#overview-view .map-filter-panel{max-height:200px}

/* Full-height overview map with compact overlay controls. */
#overview-view .workspace-grid>.map-panel{position:relative;overflow:hidden;isolation:isolate}
#overview-view #map{position:absolute;inset:0;width:100%;height:100%;z-index:0}
#overview-view .map-panel>.panel-heading{position:relative;z-index:2;pointer-events:none;background:linear-gradient(#fffffff5,#ffffffd9);padding:12px 16px 6px}
#overview-view .map-panel>.panel-heading button{pointer-events:auto;background:#fff}
#overview-view .map-panel>.map-controls{position:relative;z-index:2;background:#ffffffe8;padding:6px 16px;flex-shrink:0}
#overview-view .map-panel>.map-legend{position:absolute;bottom:0;left:0;right:0;z-index:2;background:#ffffffe8;padding:8px 16px}
#overview-view #map .leaflet-top{top:100px}
#overview-view #map .leaflet-bottom{bottom:30px}
#overview-view .map-panel .map-filter-panel{top:110px;bottom:40px;max-height:none;z-index:3}

#overview-view .map-panel .map-filter-panel{width:154px;font-size:10px;right:8px}
#overview-view .map-filter-panel summary{padding:8px;gap:4px;font-size:10px}
#overview-view .map-filter-panel .filter-group{padding:0 8px 6px}
#overview-view .map-filter-panel .filter-row{font-size:10px;gap:4px;margin:6px 0}
#overview-view .map-filter-panel .filter-row input{width:23px;min-width:23px;height:13px}
#overview-view .map-filter-panel .filter-row input:before{width:9px;height:9px}
#overview-view .map-filter-panel .filter-row input:checked:before{left:12px}
#overview-view .map-filter-panel select{width:100%;min-width:0;padding:5px;font-size:10px}
#overview-view .map-filter-panel .filter-total{font-size:9px;padding-top:5px}

/* Edge-to-edge overview map; no full-width header or footer masks. */
#overview-view .map-panel>.panel-heading{position:absolute;top:10px;left:12px;right:12px;padding:0;background:none;align-items:flex-start}
#overview-view .map-panel>.panel-heading>div{background:#fffffff0;padding:5px 8px;border-radius:3px;max-width:calc(100% - 48px)}
#overview-view .map-panel>.panel-heading p{display:none}
#overview-view .map-panel>.map-controls{position:absolute;top:48px;left:12px;right:12px;padding:0;background:none;pointer-events:none}
#overview-view .map-panel>.map-controls>label{background:#fffffff0;padding:4px 6px;border-radius:3px;pointer-events:auto}
#overview-view .map-panel>.map-controls>.muted{display:none}
#overview-view .map-panel>.map-controls button{background:#fff;pointer-events:auto;margin-left:auto}
#overview-view .map-panel>.map-legend{left:10px;right:auto;bottom:9px;width:auto;max-width:calc(100% - 20px);background:#fffffff0;border-radius:3px;padding:5px 7px}
#overview-view #map .leaflet-top{top:88px}
#overview-view #map .leaflet-bottom{bottom:0}
#overview-view .map-panel .map-filter-panel{top:88px;bottom:38px}

.inspection-drive{display:flex;align-items:center;gap:2px;background:white;border-left:1px solid #d5e3e7;padding:2px 4px}
.inspection-basemap .inspection-drive button{width:28px;padding:5px;color:#227c82;font-size:13px}
.inspection-drive select{width:48px;padding:3px 1px;font-size:11px;border:1px solid #d5e3e7;background:white;color:#21434a}
.inspection-basemap .inspection-drive button[aria-pressed=true]{background:#227c82;color:white}

