:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#19312f;background:#f4f3ed;font-synthesis:none;--paper:#f8f7f1;--line:#d7ded6;--green:#244d42}*{box-sizing:border-box}body{margin:0}button,input,select,textarea,a{font:inherit}button,a[download]{cursor:pointer;touch-action:manipulation}button,a[download]{border:1px solid var(--line);border-radius:7px;background:var(--paper);color:inherit;min-height:40px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px}button:hover:not(:disabled),a[download]:hover{background:#e2ebe1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3fa4d1;outline-offset:2px}button:disabled{opacity:.4;cursor:default}button[aria-pressed=true],button.primary,a.primary{background:var(--green);color:white;border-color:var(--green)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:10px;background:var(--paper)}.identity,.header-actions{display:flex;align-items:center;gap:12px}.brand{display:grid;place-items:center;width:40px;height:40px;background:var(--green);color:#eee5b5;border-radius:9px;font-size:14px;font-weight:800}h1{font-size:21px;letter-spacing:-.5px;margin:0}.identity p{font-size:9px;letter-spacing:1.2px;margin:5px 0 0;color:#61756a}.header-actions{gap:16px}#save-status{font-size:11px;color:#467354}#save-status[data-state=error]{color:#a32623}#sections{display:flex;align-items:center;gap:7px;padding:0 20px 9px;background:var(--paper)}#sections button{border:0;background:transparent;min-height:35px;padding:7px 12px}#sections button[aria-pressed=true],#sections button[aria-expanded=true]{background:#e3ebe0;color:#244d42}#sections span{font-size:10px;opacity:.65;margin-left:6px}#qa-label{color:#a33!important;font-weight:800!important}#toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:8px 20px;border-block:1px solid var(--line);background:#e9ede4}.tool-group{display:flex;align-items:center;gap:5px}.secondary{margin-left:auto}#toolbar button,#toolbar select{min-height:36px;padding:6px 10px;font-size:12px}select,input,textarea{border:1px solid var(--line);border-radius:7px;padding:9px;background:white;color:#213c32}select{max-width:100%}main{display:flex;flex:1;min-height:0;position:relative}#stage{position:relative;flex:1;min-width:0;overflow:hidden;background:#142d31}#pano,#photo-stage{position:absolute;inset:0}#photo-stage{overflow:hidden;touch-action:none;cursor:grab;background:#16262b}#photo-stage.dragging{cursor:grabbing}#photo-image{position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:center;user-select:none;pointer-events:none}#drawing-surface{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;touch-action:none}#drawing-surface.active{pointer-events:auto;cursor:crosshair}#pins{position:absolute;inset:0;z-index:4;pointer-events:none}.condition-pin{position:absolute;min-height:34px;height:34px;min-width:52px;padding:4px 7px;transform:translate(-50%,-50%);border-radius:18px;background:#ffdc52;color:#172923;border:2px solid #172923;box-shadow:0 2px 8px #0007;font-size:11px;font-weight:800;pointer-events:auto}.condition-pin:hover{background:#fff0a0!important}.view-caption{position:absolute;left:15px;top:15px;max-width:calc(100% - 30px);pointer-events:none;background:#18312ee0;color:white;padding:10px 14px;border:1px solid #ffffff33;border-radius:8px;z-index:5}#view-kind{font-size:9px;letter-spacing:1.5px;color:#dcdfbd}.view-caption h2{font-size:18px;margin:4px 0}.view-caption p{font-size:10px;margin:5px 0 0;color:#e2e9df;max-width:390px;line-height:1.4}.view-controls{position:absolute;bottom:14px;right:14px;display:flex;gap:5px;z-index:6}.view-controls button{min-width:39px;background:#f8f7f1ee}#zoom-in,#zoom-out,#fullscreen{font-size:20px;padding:5px}#photo-actions{position:absolute;bottom:64px;right:14px;display:flex;gap:5px;z-index:6}#photo-actions button,#photo-actions a{font-size:11px;background:#f8f7f1ee}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:7;background:#142a28e6;color:white;padding:14px 20px;border-radius:8px;font-size:13px}#panel{width:325px;flex:none;background:var(--paper);padding:18px;overflow:auto;border-left:1px solid var(--line);z-index:8}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-heading h2{font-size:19px;margin:0}.panel-heading>button{border:0;background:transparent;font-size:24px;min-width:34px;padding:3px}.eyebrow{font-size:9px;letter-spacing:2px;margin:0 0 6px;color:#6c7f71}label{display:block;font-size:12px;font-weight:650;margin:14px 0 7px}#panel select,#panel input,textarea{width:100%}textarea{line-height:1.5;resize:vertical;max-height:240px;min-height:75px;font-size:13px}.explanation{font-size:11px;line-height:1.6;color:#607368;margin:10px 0 16px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.photo-card{display:block;padding:5px;text-align:left;overflow:hidden}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:3px}.photo-card strong{display:block;padding:6px 3px 2px;font-size:12px}.photo-card small{font-size:9px;font-weight:400;color:#6d7c71;padding:0 3px}.photo-card[aria-current=true]{border:2px solid #397257;background:#e0ecdc;padding:4px}.observation-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;padding:12px;margin-bottom:10px}.observation-card h3{font-size:13px;margin:0 0 5px;overflow-wrap:anywhere}.observation-card p{font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.observation-card small{font-size:10px;color:#58725f}.observation-card .actions{display:flex;gap:6px;margin-top:9px}.observation-card button{font-size:10px;min-height:32px;padding:6px 9px}.export-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.export-actions button{font-size:11px;text-align:center}footer{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--paper);border-top:1px solid var(--line);flex:none}footer>button{border:0;font-size:25px;padding:4px 9px}#scenes{display:flex;gap:7px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:2px}.scene-button{flex:0 0 120px;padding:3px;display:flex;text-align:left;gap:7px;height:52px}.scene-button img{width:48px;height:44px;object-fit:cover;object-position:bottom;border-radius:4px}.scene-button span{font-size:11px;white-space:nowrap}.scene-button small{display:block;font-size:9px;font-weight:400;opacity:.65;margin-top:4px}.scene-button[aria-current=true]{border:2px solid #397257;background:#e0ecdc;padding:2px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);border-radius:8px;padding:12px 18px;background:#16382ff2;color:white;font-size:12px;line-height:1.5;z-index:100;box-shadow:0 3px 16px #0004}dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:#19312f;padding:22px;width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 30px);overflow:auto;box-shadow:0 15px 80px #0005}dialog::backdrop{background:#061c27a6}dialog input,dialog select,dialog textarea{width:100%}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px}fieldset{border:1px solid var(--line);padding:10px;border-radius:8px;margin:18px 0 0}legend{font-size:12px;font-weight:600}.photo-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:240px;overflow:auto}.photo-links label{display:block;margin:0;font-size:11px;font-weight:500;cursor:pointer}.photo-links img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;margin-bottom:4px}.photo-links input{width:auto;vertical-align:middle;margin:0 5px 0 0}#export-dialog{width:min(1000px,calc(100% - 24px))}#export-content>img{display:block;width:100%;height:auto}#export-content iframe{width:100%;height:60vh;border:1px solid var(--line);background:white}#remove-observation{margin-right:auto;color:#973a2c}
@media(max-width:900px){#toolbar{padding:7px 12px}.secondary{margin-left:0}#panel{width:290px}header{padding:10px 12px}#sections{padding-inline:12px}#save-status{max-width:115px;text-align:right}.scene-button{flex-basis:106px}.scene-button img{width:40px}}
@media(max-width:650px){header{gap:6px;padding:9px 10px}.brand{width:31px;height:34px;font-size:11px}.identity{gap:7px}h1{font-size:17px}.identity p{font-size:8px;letter-spacing:.6px}.identity p span{display:none}.header-actions{gap:7px}#save-status{font-size:9px;max-width:85px}#notes-toggle{font-size:10px;min-height:35px;padding:7px}#sections{padding:0 7px 6px;gap:2px}#sections button{padding:6px 9px;font-size:11px}#sections span{margin-left:3px}#toolbar{gap:5px;padding:6px 7px}.tool-group:first-child{width:100%;justify-content:space-between;gap:3px}#toolbar button{font-size:10px;min-height:34px;padding:5px 7px}#toolbar select{font-size:10px;min-height:32px;padding:4px 5px}.secondary{width:100%;gap:5px}.secondary #visibility{margin-left:auto}#panel{position:absolute;inset:0 0 0 auto;width:min(325px,100%);box-shadow:-7px 0 20px #001b2233;padding:15px}.view-caption{top:10px;left:10px;padding:7px 10px;max-width:calc(100% - 20px)}.view-caption h2{font-size:15px}.view-caption p{font-size:9px;max-width:240px}.view-controls{right:9px;bottom:10px;gap:4px}.view-controls button{font-size:11px;min-height:38px;padding:5px 9px;min-width:35px}#zoom-in,#zoom-out,#fullscreen{font-size:19px}#photo-actions{bottom:57px;right:9px}.view-controls #actual-size{font-size:11px}footer{padding:6px 4px;gap:1px}footer>button{min-width:24px;padding:3px 4px}#scenes{gap:5px}.scene-button{flex-basis:80px;height:64px;display:block;text-align:center}.scene-button img{width:100%;height:39px}.scene-button span{display:block;font-size:10px;margin-top:3px}.scene-button small{display:none}dialog{padding:17px}.photo-links{grid-template-columns:repeat(3,1fr)}}
#map-notice{padding:8px 20px;background:#f4e4b8;color:#594520;font-size:11px;line-height:1.45;border-bottom:1px solid #dfcea3}#map-layers{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 20px;background:var(--paper);border-bottom:1px solid var(--line)}#map-layers>span,#map-layers small{font-size:10px;color:#5c7165}#map-layers small{margin-left:auto}#map-layers button{font-size:10px;min-height:30px;padding:5px 9px}#map-markers{position:absolute;inset:0;z-index:4;pointer-events:none}.map-marker{position:absolute;transform:translate(-50%,-50%);min-width:32px;min-height:32px;padding:4px;border:2px solid white;border-radius:50%;font-size:10px;font-weight:800;color:white;background:#225846;box-shadow:0 1px 7px #0008;pointer-events:auto}.map-marker.photo{background:#275ca1;border-radius:5px}.map-marker:hover:not(:disabled){background:#153e32}.map-marker.photo:hover:not(:disabled){background:#183f77}.map-marker.selected{outline:3px solid #ffdc52;outline-offset:2px;z-index:1}.map-marker:disabled{opacity:1}#stage.map-view{background:#ced8cc}#stage.map-view .view-caption{max-width:290px}#stage.map-view #pins{z-index:5}
@media(max-width:650px){#sections{overflow-x:auto;flex:none}#sections button{white-space:nowrap;padding-inline:7px}#map-notice{padding:6px 10px;font-size:10px}#map-layers{padding:5px 8px;gap:4px}#map-layers>span{display:none}#map-layers button{font-size:9px;padding:4px 7px;min-height:29px}#map-layers small{font-size:9px;width:100%;margin-left:0}.map-marker{min-height:30px;min-width:30px}#stage.map-view .view-caption{padding:5px 8px}#stage.map-view .view-caption p{display:none}}
@media(max-height:560px) and (orientation:landscape){header{padding-block:5px}#sections{padding-bottom:4px}#toolbar{padding-block:4px}.tool-group:first-child{width:auto}.secondary{width:auto}.view-caption p{display:none}footer{padding-block:3px}.scene-button{height:40px;display:flex;flex-basis:116px}.scene-button img{height:32px;width:42px}.scene-button small{display:none}#map-layers small{display:none}#map-notice{padding-block:4px}}
/* Reserve room for the hosting badge without covering panorama navigation. */
html.hosted footer{padding-bottom:62px}
footer{position:relative;padding-bottom:62px}
#cdw-credit{position:absolute;left:12px;bottom:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;width:174px;min-height:44px;padding:3px 5px;border-radius:5px;color:var(--green);text-decoration:none}
#cdw-credit:hover{background:#e3ebe0}
.cdw-by{font-size:9px;line-height:1.25;color:#607368}
.cdw-by strong{display:block;font-size:11px;color:var(--green)}
.cdw-cta{font-size:11px;font-weight:650;text-decoration:underline;text-underline-offset:2px}
@media(max-width:370px){html.hosted footer{padding-bottom:112px}html.hosted #cdw-credit{bottom:62px}}

/* Customer downloads and dated map choices. */
.button-link{border:1px solid var(--line);border-radius:7px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.button-link.primary{background:var(--green);color:white;border-color:var(--green)}
.button-link.primary:hover{background:#173c32}
#save-status{max-width:120px;line-height:1.35}
#map-version{font-size:11px;min-height:32px;padding:5px 8px}
#map-notice{background:#e3ebe0;color:#314e3e;border-bottom-color:var(--line)}
.contact-help a{color:var(--green);line-height:1.9}
@media(max-width:650px){header{flex-wrap:wrap}.header-actions{width:100%;justify-content:flex-end}#save-status{margin-right:auto;max-width:125px;text-align:left}#download-assets{font-size:11px;min-height:35px;padding:7px 9px}#map-version{font-size:10px;max-width:190px}#map-layers small{display:none}}
