@font-face{font-family:Manrope;src:url("/assets/Manrope-Medium.ttf") format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{color-scheme:light;--green:#063c2e;--orange:#fd5c25;--paper:#faf4e9;--ink:#163d33;--shadow:0 4px 22px #163d3312,0 1px 3px #163d3312;--edge-top:max(24px,env(safe-area-inset-top));--brand-h:56px;--stack-top:calc(var(--edge-top) + var(--brand-h) + 12px);font-family:Manrope,system-ui,sans-serif;font-weight:500;color:var(--ink)}
*{box-sizing:border-box}
html,body,main,#map{width:100%;height:100%;margin:0}
body{overflow:hidden;background:#e8eee9}
main{height:100dvh;position:relative}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
[hidden]{display:none!important}
.skip-link{position:absolute;top:-70px;left:20px;z-index:10;background:var(--green);color:white;padding:14px;border-radius:10px}
.skip-link:focus{top:20px}
.top-bar{position:absolute;z-index:3;left:max(24px,env(safe-area-inset-left));top:var(--edge-top);display:flex;align-items:center;gap:8px;pointer-events:none}
.brand-panel{height:var(--brand-h);display:flex;align-items:center;padding:0 5px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px #dfe5e1,var(--shadow);pointer-events:none}
.brand{display:block;width:124px;height:calc(var(--brand-h) - 2px);object-fit:contain}
.account-button{display:flex;align-items:center;gap:7px;height:44px;min-width:44px;padding:0 13px;border:0;border-radius:14px;background:#fff;color:var(--green);font-size:12px;box-shadow:0 0 0 1px #dfe5e1,var(--shadow);pointer-events:auto;white-space:nowrap}
.account-button:hover{background:#f6faf6}
.account-button[hidden]{display:none}
.account-button svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.account-button[data-state=in]{background:var(--green);color:#fff}
.account-button[data-state=in]:hover{background:#0a4f3d}
.search-panel{position:absolute;z-index:3;left:max(24px,env(safe-area-inset-left));top:var(--stack-top);width:370px;max-width:calc(100% - 100px);background:white;border:1px solid #dfe5e1;border-radius:15px;box-shadow:var(--shadow);overflow:hidden}
.search-form{display:flex;align-items:center;height:54px;gap:2px;padding:0 8px}
.search-form input{min-width:0;flex:1;width:100%;border:0;background:none;font:inherit;font-size:14px;color:var(--ink);outline:none;padding:12px 2px}
.search-form input::placeholder{color:#6c8178;opacity:1}
.search-form input::-webkit-search-cancel-button{display:none}
.search-form:focus-within{box-shadow:inset 0 0 0 2px var(--green);border-radius:14px}
.search-submit,.search-clear{display:grid;place-items:center;flex:none;width:38px;height:38px;border:0;border-radius:10px;background:none;color:var(--green)}
.search-submit:hover,.search-clear:hover{background:#eef4ef}
.search-submit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.search-clear{font:24px/1 system-ui,sans-serif;color:#698177}
.search-dropdown{border-top:1px solid #edf0ed;max-height:min(420px,calc(100dvh - var(--stack-top) - 170px));overflow:auto;overscroll-behavior:contain}
.search-status{padding:12px 16px 9px;margin:0;font-size:11px;color:#698177;line-height:1.5}
.search-results{list-style:none;margin:0;padding:0 6px 6px}
.search-results:empty{padding:0}
.search-results li{display:flex;align-items:flex-start;gap:12px;padding:12px 10px;border-radius:9px;cursor:pointer;line-height:1.45}
.search-results li:hover,.search-results li[aria-selected=true]{background:#edf4ef}
.search-results strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.result-detail{display:block;font-size:11px;color:#6a7e73;margin-top:3px;overflow-wrap:anywhere}
.result-pin{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#f5f0e8;color:var(--orange);font-size:18px}
.directions-open{display:flex;align-items:center;gap:6px;flex:none;height:38px;padding:0 10px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:12px}
.directions-open:hover{background:#0a4f3d}
.directions-open svg,.route-pick svg,.route-swap svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.route-panel{position:absolute;z-index:3;left:max(24px,env(safe-area-inset-left));top:var(--stack-top);width:370px;max-width:calc(100% - 100px);max-height:calc(100dvh - var(--stack-top) - 124px);overflow:auto;overscroll-behavior:contain;padding:12px;background:white;border:1px solid #dfe5e1;border-radius:15px;box-shadow:var(--shadow)}
.route-head{display:flex;align-items:center;gap:8px}
.route-head h2{margin:0;font-size:15px;font-weight:600;color:var(--green);flex:1}
.route-modes{display:flex;border:1px solid #dfe5e1;border-radius:10px;overflow:hidden}
.route-mode{height:34px;min-width:62px;border:0;background:white;color:var(--green);font-size:12px}
.route-mode[aria-pressed=true]{background:var(--green);color:#fff;font-weight:600}
.route-icon-button{width:34px;height:34px;border:0;border-radius:10px;background:none;color:#698177;font:22px/1 system-ui,sans-serif}
.route-icon-button:hover,.route-pick:hover,.route-swap:hover{background:#eef4ef}
.route-fields{position:relative;display:grid;gap:6px;margin-top:10px}
.route-row{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 4px 0 8px;border:1px solid #dfe5e1;border-radius:11px}
.route-row:focus-within{box-shadow:inset 0 0 0 2px var(--green)}
.route-row input{min-width:0;flex:1;width:100%;border:0;background:none;font:inherit;font-size:14px;color:var(--ink);outline:none;padding:10px 0}
.route-pin,.route-marker{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;color:#fff;font-size:11px;font-weight:600}
.route-pin-from,.route-marker-from{background:var(--green)}
.route-pin-to,.route-marker-to{background:var(--orange)}
.route-marker{width:30px;height:30px;font-size:13px;border:3px solid #fff;box-shadow:0 2px 8px #0004}
.route-pick,.route-swap{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;border-radius:9px;background:none;color:var(--green)}
.route-pick[aria-pressed=true]{background:var(--orange);color:#fff}
.route-swap{justify-self:end;width:34px;height:28px;margin:-2px 0}
.route-dropdown{border:1px solid #edf0ed;border-radius:11px;margin-top:4px;max-height:200px;overflow:auto;overscroll-behavior:contain}
.route-pick-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff1ea;font-size:12px;line-height:1.5}
.route-pick-bar span{flex:1 1 100%}
.route-pick-bar button,.route-retry{height:34px;padding:0 12px;border:1px solid var(--green);border-radius:9px;background:white;color:var(--green);font-size:12px}
.route-result{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-radius:11px;background:#edf4ef}
.route-result strong{font-size:15px;color:var(--green)}
.route-result small{font-size:11px;line-height:1.5;color:#4e6f61}
.route-status{margin:8px 2px 0;font-size:12px;line-height:1.5;color:#4e6f61;overflow-wrap:anywhere}
.route-status:empty{display:none}
.route-retry{margin-top:6px;background:var(--green);color:#fff}
.reports-panel{position:absolute;z-index:3;left:max(24px,env(safe-area-inset-left));top:var(--stack-top);width:370px;max-width:calc(100% - 100px);max-height:calc(100dvh - var(--stack-top) - 64px);overflow:auto;overscroll-behavior:contain;padding:12px;background:white;border:1px solid #dfe5e1;border-radius:15px;box-shadow:var(--shadow)}
.reports-head{display:flex;align-items:center;gap:8px;position:sticky;top:-12px;z-index:2;background:#fff;margin:-12px -12px 0;padding:12px 12px 8px;border-bottom:1px solid #edf0ed}
.reports-head h2{margin:0;font-size:15px;font-weight:600;color:var(--green);flex:1}
.reports-head h2:focus,.report-detail h3:focus,#detail-title:focus{outline:none}
.reports-disclaimer{margin:6px 0 0;font-size:11px;line-height:1.5;color:#4e6f61}
.reports-disclaimer b{color:#6b3fa0;font-weight:600}
.reports-primary,.reports-secondary{height:34px;padding:0 12px;border-radius:9px;font-size:12px;border:1px solid var(--green)}
.reports-primary{background:var(--green);color:#fff}
.reports-primary:hover{background:#0a4f3d}
.reports-primary:disabled{opacity:.6;cursor:default}
.reports-secondary{background:#fff;color:var(--green)}
.reports-secondary:hover:not(:disabled){background:#eef4ef}
.reports-secondary:disabled{opacity:.6;cursor:default}
.reports-secondary[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#fff}
.reports-link{border:0;background:none;padding:6px 2px;font-size:12px;color:var(--green);text-decoration:underline}
.reports-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.reports-seg{display:flex;border:1px solid #dfe5e1;border-radius:10px;overflow:hidden}
.reports-seg button{flex:1;min-height:34px;padding:0 10px;border:0;background:#fff;color:var(--green);font-size:12px}
.reports-seg button+button{border-left:1px solid #edf0ed}
.reports-seg button[aria-pressed=true]{background:var(--green);color:#fff;font-weight:600}
.reports-status{margin:8px 2px 0;font-size:12px;line-height:1.5;color:#4e6f61;overflow-wrap:anywhere}
.reports-status:empty,.reports-error:empty{display:none}
.reports-error{margin:8px 2px 0;font-size:12px;line-height:1.5;color:#a3321a;overflow-wrap:anywhere}
.reports-list{list-style:none;margin:6px 0 0;padding:0}
.reports-list[aria-busy=true]{opacity:.55}
.report-row{display:flex;gap:10px;align-items:flex-start;width:100%;padding:9px 6px;border:0;border-radius:9px;background:none;text-align:left;color:var(--ink)}
.report-row:hover{background:#edf4ef}
.report-row.is-stale{opacity:.75}
.report-row-text{display:grid;gap:2px;min-width:0}
.report-row-text strong{font-size:13px;font-weight:600}
.report-row-meta{font-size:11px;color:#5a7569}
.report-row-note{font-size:11px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.report-badge{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px}
.report-marker{display:grid;place-items:center;width:30px;height:30px;padding:0;border:2px solid #fff;border-radius:9px;box-shadow:0 2px 8px #0004;color:#fff;cursor:pointer}
.report-marker svg,.report-badge svg,.report-preview svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.report-marker-road_closure{background:#6b3fa0;color:#fff}
.report-marker-path_blocked{background:#f2a516;color:#3b2600}
.report-marker.is-stale{opacity:.65;filter:grayscale(.6)}
.report-marker.is-cleared{opacity:.85}
.report-marker.is-cleared::after,.report-marker.is-stale::after{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0005;font-size:9px;line-height:1;font-weight:700}
.report-marker.is-cleared::after{content:'✓';color:#1a7a4c}
.report-marker.is-stale::after{content:'?';color:#5a6b63}
.report-preview{display:grid;place-items:center;width:32px;height:32px;border:2px dashed #fff;border-radius:9px;box-shadow:0 0 0 2px var(--orange),0 2px 8px #0004;pointer-events:none}
.reports-crosshair{position:absolute;z-index:2;width:36px;height:36px;margin:-18px 0 0 -18px;border:2px solid var(--orange);border-radius:50%;pointer-events:none;background:linear-gradient(var(--orange),var(--orange)) center/2px 100% no-repeat,linear-gradient(var(--orange),var(--orange)) center/100% 2px no-repeat;box-shadow:0 0 0 2px #fff8}
.report-form{display:grid;gap:8px;margin-top:8px}
.report-form h3,.report-detail h3,#report-detail h3{margin:6px 0 0;font-size:14px;font-weight:600;color:var(--green)}
.report-form .reports-seg button{white-space:normal;padding:4px 8px}
.report-form label,.detail-actions label{font-size:12px;color:var(--green)}
.report-form textarea,.detail-actions textarea{width:100%;resize:vertical;min-height:52px;padding:8px 10px;border:1px solid #dfe5e1;border-radius:10px;font:inherit;font-size:14px;color:var(--ink)}
.report-form textarea:focus,.detail-actions textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--green)}
.report-count{justify-self:end;font-size:10px;color:#698177}
.report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.detail-facts{display:grid;gap:6px;margin:8px 0 0}
.detail-fact{display:grid;gap:1px}
.detail-fact dt{font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:#698177}
.detail-fact dd{margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.detail-note{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#edf4ef;font-size:13px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.detail-note.is-empty{color:#698177;font-size:12px}
.detail-actions{display:grid;gap:6px;margin-top:10px}
.detail-history{margin-top:10px;font-size:12px}
.detail-history summary{cursor:pointer;color:var(--green);padding:6px 0}
.detail-events{margin:4px 0 0;padding-left:18px;display:grid;gap:6px;line-height:1.5}
.detail-event-note{display:block;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}
.report-popup-open{margin-top:4px;height:30px;padding:0 10px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-size:11px}
.place-popup{font-family:Manrope,system-ui,sans-serif;line-height:1.5;padding:4px 10px 0 3px}
.place-popup strong{font-size:13px;color:var(--green)}
.place-popup p{font-size:11px;color:#698177;margin:5px 0 2px}
.maplibregl-popup-content{border-radius:12px;box-shadow:var(--shadow)}
.maplibregl-popup-close-button{width:25px;height:25px;font-size:17px;color:#698177}
.map-controls{position:absolute;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.map-controls .maplibregl-ctrl{margin:0;float:none}
.maplibregl-ctrl-group{border-radius:14px!important;border:1px solid #dfe5e1!important;box-shadow:var(--shadow)!important;overflow:hidden}
.maplibregl-ctrl-group button{width:46px;height:46px}
.maplibregl-ctrl-group button+button{border-top:1px solid #edf0ed}
.maplibregl-ctrl button .maplibregl-ctrl-icon{opacity:.8}
.maplibregl-ctrl-group button:focus-visible{outline-offset:-4px}
.maplibregl-ctrl-group button:hover{background:#f1f5f1}
.maplibregl-ctrl-bottom-left{left:24px;bottom:max(16px,env(safe-area-inset-bottom))}
.maplibregl-ctrl-bottom-right{right:16px;bottom:max(12px,env(safe-area-inset-bottom))}
.maplibregl-ctrl-attrib{font:10px/20px Manrope,system-ui,sans-serif!important;background:#fffffff2!important;border-radius:6px;padding:1px 6px!important}
.maplibregl-ctrl-attrib a{color:#426155!important}
.maplibregl-ctrl-scale{border-color:#658277!important;color:#365c4e!important;background:#ffffffbb!important;font-family:Manrope,system-ui,sans-serif!important;border-radius:3px;font-size:10px!important}
.bottom-tools{position:absolute;left:24px;bottom:max(62px,calc(env(safe-area-inset-bottom) + 52px));display:flex;align-items:center;gap:16px;pointer-events:none}
.home-button{height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #dfe5e1;background:white;border-radius:13px;color:var(--green);box-shadow:var(--shadow);pointer-events:auto;font-size:12px}
.home-button:hover{background:#f6faf6}
.home-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.home-button .return-icon{width:14px;height:14px;opacity:.5;margin-left:5px}
.gesture-hint{margin:0;font-size:11px;color:#4e6f61;background:#ffffffe6;padding:8px 11px;border-radius:8px}
.touch-hint{display:none}
.loading-state,.error-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:18px 24px;background:white;border:1px solid #dfe5e1;border-radius:16px;box-shadow:var(--shadow);font-size:13px;max-width:calc(100% - 40px)}
.loading-state{display:flex;align-items:center;gap:12px;white-space:nowrap}
.spinner{width:16px;height:16px;border:2px solid #dfe5e1;border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite}
.error-state{width:320px}
.error-state strong{font-size:16px}
.error-state p{line-height:1.6;color:#698177}
.error-state button{background:var(--green);color:white;border:0;padding:10px 16px;border-radius:9px}
.notice{position:absolute;left:50%;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));transform:translateX(-50%);max-width:min(440px,calc(100% - 32px));width:max-content;padding:13px 18px;background:var(--green);color:#fff;border-radius:12px;box-shadow:var(--shadow);font-size:12px;line-height:1.6;text-align:center}
@keyframes spin{to{transform:rotate(360deg)}}
@media(pointer:coarse){.desktop-hint{display:none}.touch-hint{display:inline}}
@media(max-width:600px){
 :root{--edge-top:max(14px,env(safe-area-inset-top));--brand-h:48px;--stack-top:calc(var(--edge-top) + var(--brand-h) + 10px)}
 .top-bar{left:16px}
 .brand{width:112px}
 .search-panel{left:16px;width:calc(100% - 32px);max-width:none}
 .route-panel{left:16px;width:calc(100% - 32px);max-width:none;max-height:calc(100dvh - var(--stack-top) - 170px);padding:10px}
 .route-dropdown{max-height:150px}
 main:has(.route-panel:not([hidden])) .map-controls{top:auto;bottom:max(130px,calc(env(safe-area-inset-bottom) + 120px))}
 .directions-open span{display:none}
 .directions-open{width:38px;padding:0;justify-content:center}
 .search-form{height:50px}
 .search-form input{font-size:16px}
 .search-dropdown{max-height:min(360px,calc(100dvh - var(--stack-top) - 220px))}
 main:has(.search-panel:not([hidden])) .map-controls{top:calc(var(--stack-top) + 62px)}
 .map-controls{right:16px;top:var(--stack-top)}
 .bottom-tools{left:16px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 62px));display:block}
 .gesture-hint{margin-top:8px;display:inline-block;font-size:10px}
 .maplibregl-ctrl-bottom-left{left:6px;bottom:max(31px,calc(env(safe-area-inset-bottom) + 21px))}
 .maplibregl-ctrl-bottom-right{right:6px;bottom:max(8px,env(safe-area-inset-bottom))}
 .maplibregl-ctrl-attrib{font-size:9px!important}
 .notice{bottom:max(182px,calc(env(safe-area-inset-bottom) + 172px))}
}
/* ---- Quick reporting: Report button, bottom sheet / lower-left card, fixed pin ---- */
.report-fab{position:absolute;z-index:3;right:max(24px,env(safe-area-inset-right));bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px));display:flex;align-items:center;gap:8px;min-width:48px;min-height:52px;padding:0 20px 0 16px;border:0;border-radius:26px;background:var(--orange);color:var(--green);font-family:inherit;font-size:16px;font-weight:800;box-shadow:0 6px 20px #fd5c2566,var(--shadow);cursor:pointer}
.report-fab[hidden],.reports-panel [hidden]{display:none!important}
.report-fab:hover{background:#ff6d3a}
.report-fab:focus-visible,.report-type:focus-visible,.report-go:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.report-fab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
main.is-reporting .report-fab,main.is-reporting .bottom-tools{display:none}
.reports-panel{z-index:5;top:auto;bottom:max(48px,calc(env(safe-area-inset-bottom) + 40px));width:352px;max-width:calc(100% - 48px);max-height:min(560px,calc(100dvh - 150px));border-radius:18px}
.reports-back{min-width:44px;height:44px;margin:-6px 0 -6px -8px;border:0;background:none;color:var(--green);font-size:20px;border-radius:10px}
.reports-head .route-icon-button{min-width:44px;min-height:44px}
.reports-head h2{font-size:17px;font-weight:700}
.reports-head{margin-bottom:2px}
.report-form{margin-top:0;gap:10px}
.report-hint{margin:2px 0 0;font-size:13px;color:#4e6f61}
.report-form:has(.reports-error:not(:empty)) .report-hint{display:none}
.report-form .reports-error{margin:2px 0 0;font-size:13px}
.report-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.report-type{display:grid;justify-items:center;align-content:center;gap:6px;min-height:84px;padding:10px 6px;border:2px solid #dfe5e1;border-radius:16px;background:#fff;color:var(--green);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.report-type svg{width:34px;height:34px;padding:6px;border-radius:11px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.report-type[data-type=road_closure] svg{background:#6b3fa0;color:#fff}
.report-type[data-type=path_blocked] svg{background:#f2a516;color:#3b2600}
.report-type[aria-pressed=true]{border-color:var(--orange);background:#fff1ea;box-shadow:0 0 0 2px var(--orange) inset}
.report-type:disabled{opacity:.6}
.report-tools{display:flex;align-items:center;justify-content:space-between;gap:8px}
.report-tools .reports-link{min-height:36px;font-size:13px;font-weight:600}
.report-details{display:grid;gap:4px}
.report-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.report-go{position:sticky;bottom:0;min-height:50px;border:0;border-radius:14px;background:var(--orange);color:var(--green);font-family:inherit;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 -6px 8px #fff}
.report-go:disabled{background:#ecefec;color:#7d9188;cursor:default;box-shadow:0 -6px 8px #fff}
.report-fine{margin:0;text-align:center;font-size:11px;color:#698177}
.reports-list-view .report-fine,#reports-list-view>.report-fine,#report-detail .report-fine{text-align:left;margin:6px 0 0}
.report-receipt{display:grid;gap:12px;justify-items:start;padding-top:6px}
.receipt-chip{margin:0;padding:4px 12px;border-radius:99px;background:#edf4ef;color:var(--green);font-size:13px;font-weight:700}
.report-receipt .reports-primary,.report-receipt .reports-secondary{min-height:44px;padding:0 18px;font-size:14px}
.detail-update,.detail-note-wrap{margin-top:10px;font-size:13px}
.detail-update>summary,.detail-note-wrap>summary{cursor:pointer;color:var(--green);font-weight:600;padding:8px 0;min-height:36px}
.detail-update .report-actions{margin-top:2px}
.detail-note-wrap{margin-top:6px}
.reports-crosshair{z-index:4;width:44px;height:44px;margin:-22px 0 0 -22px;border-width:3px;box-shadow:0 0 0 3px #fffc,0 2px 10px #0003}
.reports-panel .reports-seg button,.reports-panel .reports-secondary{min-height:40px}
@media(max-width:600px){
 .report-fab{right:16px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 66px))}
 .reports-panel{left:0;right:0;bottom:0;width:auto;max-width:none;max-height:62dvh;padding:10px 16px max(14px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border-width:1px 0 0;box-shadow:0 -8px 28px #163d3322}
 .reports-panel[data-view=quick]{height:min(328px,70dvh);max-height:none}
 .reports-head{top:-10px;margin:-10px -16px 0;padding:10px 16px 6px}
 main.is-reporting .map-controls{display:none}
 main.is-reporting .maplibregl-ctrl-bottom-right{top:var(--stack-top);bottom:auto;right:6px}
 .report-types{gap:12px}
}
/* ---- Account dialog ---- */
.auth-dialog{width:min(380px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:0;border:1px solid #dfe5e1;border-radius:18px;background:#fff;color:var(--ink);font:inherit;box-shadow:0 12px 40px #163d3340}
.auth-dialog::backdrop{background:#063c2e66}
.auth-head{display:flex;align-items:center;gap:8px;padding:12px 10px 2px 18px}
.auth-head h2{flex:1;margin:0;font-size:17px;font-weight:700;color:var(--green)}
.auth-head h2:focus{outline:none}
.auth-close{width:44px;height:44px;border:0;border-radius:10px;background:none;color:#698177;font:24px/1 system-ui,sans-serif}
.auth-close:hover{background:#eef4ef}
.auth-form{display:grid;gap:10px;padding:6px 18px 18px}
.auth-tabs{display:flex;border:1px solid #dfe5e1;border-radius:10px;overflow:hidden}
.auth-tabs button{flex:1;min-height:40px;border:0;background:#fff;color:var(--green);font-size:13px}
.auth-tabs button+button{border-left:1px solid #edf0ed}
.auth-tabs button[aria-pressed=true]{background:var(--green);color:#fff;font-weight:600}
.auth-field{display:grid;gap:4px}
.auth-field label{font-size:12px;color:var(--green)}
.auth-field input{width:100%;height:44px;padding:0 12px;border:1px solid #cfd8d2;border-radius:10px;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.auth-field input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--green)}
.auth-primary,.auth-secondary{min-height:46px;border-radius:12px;font-size:15px;font-weight:600;border:1px solid var(--green)}
.auth-primary{background:var(--green);color:#fff}
.auth-primary:hover:not(:disabled){background:#0a4f3d}
.auth-secondary{background:#fff;color:var(--green)}
.auth-primary:disabled,.auth-secondary:disabled{opacity:.6;cursor:default}
.auth-link{justify-self:start;min-height:36px;padding:6px 2px;border:0;background:none;color:var(--green);font-size:13px;text-decoration:underline}
.auth-note,.auth-hint,.auth-status,.auth-error{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.auth-hint{font-size:11px;color:#698177}
.auth-status{color:#4e6f61}
.auth-error{color:#a3321a}
.auth-status:empty,.auth-error:empty{display:none}
.auth-dialog button:focus-visible,.auth-dialog a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.detail-event-anon{color:#698177;font-size:11px}
@media(max-height:520px){.auth-form{gap:8px;padding-bottom:12px}.auth-field input{height:40px}.auth-primary,.auth-secondary{min-height:42px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
