:root{--ink:#202b23;--muted:#516057;--forest:#174735;--dark:#102d24;--paper:#f3f4ec;--line:#d5dfd1;--accent:#d7e8b7;--white:#fff;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 system-ui,sans-serif}
.wrap{width:min(1440px,calc(100% - 2 * clamp(.8rem,4vw,3rem)));margin-inline:auto}
.top{background:var(--dark);color:#fff}.top-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.brand{color:white;text-decoration:none;font-weight:800;letter-spacing:.01em;white-space:nowrap}.brand-icon{color:var(--accent);font-size:1.4em;vertical-align:middle;margin-right:.25em}
nav,.actions,.filters{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.intro{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:.4rem;padding:1.6rem 0 1rem}.intro p{margin:.25rem 0;color:var(--muted)}.intro .eyebrow,.eyebrow{color:var(--forest);font-size:.72rem;letter-spacing:.13em;font-weight:800;margin:0 0 .3rem}.session{font-size:.85rem}
h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2rem,5vw,3.45rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}
button,.button{cursor:pointer;min-height:40px;border:1px solid #aab9ab;border-radius:.5rem;background:#fff;color:var(--ink);padding:.45rem .75rem;font:inherit;font-size:.9rem;font-weight:680;text-decoration:none}
button:disabled{opacity:.58;cursor:wait}.primary{background:var(--forest);border-color:var(--forest);color:white}.top .primary{background:var(--accent);color:var(--dark);border-color:var(--accent)}.nav-button{background:transparent;color:#fff;border-color:transparent}.close{font-size:1.45rem;line-height:1;padding:.28rem .65rem}
.filters{background:white;padding:.65rem .85rem;border:1px solid var(--line);border-radius:.75rem;margin-bottom:.75rem;gap:.55rem 1.2rem}.filters select{display:inline-block;margin-left:.3rem}.check{display:flex;align-items:center;gap:.35rem}.check input{accent-color:var(--forest)}
label,legend{font-size:.86rem;font-weight:700}select,input:not([type=checkbox]),textarea{min-width:0;background:white;color:var(--ink);padding:.5rem .55rem;border:1px solid #a8b6aa;border-radius:.45rem;font:inherit;font-weight:400}form select,form input,form textarea{width:100%;display:block;margin-top:.22rem}
.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:.8rem}.map-frame,.records{background:white;border:1px solid var(--line);border-radius:.8rem;overflow:hidden}.map-frame{min-width:0}#map{height:clamp(370px,63vh,730px);background:#e4ede3;z-index:0}#map.picking,#map.picking *{cursor:crosshair}
.map-footer{display:flex;flex-wrap:wrap;gap:.35rem 1rem;padding:.65rem .85rem;color:var(--muted);font-size:.82rem}.map-footer i{display:inline-block;width:.63rem;height:.63rem;border-radius:50%;background:var(--dot);margin-right:.15rem}.avistamento{--dot:#28694d}.vestigio{--dot:#ab5527}.captura{--dot:#255e99}.outro{--dot:#715594}
.records{max-height:calc(clamp(370px,63vh,730px) + 44px);overflow:auto}.records-head{position:sticky;top:0;background:white;padding:.8rem .9rem;border-bottom:1px solid var(--line);z-index:1}.records-head p,.hint{font-size:.84rem;color:var(--muted);margin:.35rem 0}.hint:empty{display:none}#cards{padding:.6rem;display:grid;gap:.55rem}
.card{width:100%;display:grid;grid-template-columns:84px minmax(0,1fr);gap:.65rem;text-align:left;align-items:center;border-color:var(--line);padding:.45rem}.card img{width:84px;height:69px;object-fit:cover;border-radius:.35rem;background:#e1e8df}.card strong,.card small{display:block;overflow-wrap:anywhere}.card small{color:var(--muted);font-weight:500}.empty{padding:.7rem;margin:0;color:var(--muted)}
footer{margin-top:1rem;padding:0 0 1.2rem;color:var(--muted);font-size:.82rem}
dialog{width:min(625px,calc(100% - 1.25rem));max-height:calc(100% - 1.25rem);border:1px solid var(--line);border-radius:.85rem;padding:0;color:var(--ink);box-shadow:0 15px 45px #152e2866}dialog::backdrop{background:#14291fc2}.dialog-body{padding:1rem}.dialog-title{display:flex;align-items:start;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}
form{display:grid;gap:.65rem}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}fieldset{border:1px solid var(--line);border-radius:.55rem;padding:.55rem;margin:0;min-width:0}fieldset .actions{margin-bottom:.45rem}#preview{max-width:100%;max-height:125px;border-radius:.35rem}.detail-photo{width:100%;max-height:330px;object-fit:contain;background:#e7ede4;border-radius:.5rem}.detail-copy{white-space:pre-wrap;overflow-wrap:anywhere}.detail-block{margin-top:.85rem;padding-top:.8rem;border-top:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.55rem 0}.metric{background:#eef2e9;border-radius:.45rem;padding:.45rem .55rem}.metric small,.metric strong{display:block}.danger{color:#9e281e}.tag{display:inline-block;font-size:.79rem;background:#e7efe1;padding:.1rem .45rem;border-radius:1rem}
#pickBar{position:fixed;bottom:.7rem;left:50%;transform:translateX(-50%);width:min(570px,calc(100% - 1.4rem));z-index:10;background:var(--dark);color:white;border-radius:.65rem;padding:.6rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.86rem}
@media(max-width:760px){.layout{grid-template-columns:1fr}.records{max-height:425px}.top .nav-button{display:none}#map{height:52vh;min-height:320px}.intro{padding-top:1rem}}
.brand{display:inline-flex;align-items:center;gap:.55rem}.brand-icon{display:block;width:38px;height:38px;margin:0;flex:none}
#rankList{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.4rem}.rank-row{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.55rem .7rem;background:#eef2e9;border-radius:.5rem}.rank-row strong{overflow-wrap:anywhere}.rank-number{font-variant-numeric:tabular-nums;color:var(--forest);font-weight:800}.rank-mine{font-size:.78rem;color:var(--muted)}.session a{color:var(--forest)}
@media(max-width:760px){.top .ranking-button{display:inline-block}.top .primary,.top .ranking-button{padding:.35rem .5rem;font-size:.78rem}.brand{font-size:.87rem;gap:.3rem}.brand-icon{width:30px;height:30px}nav{gap:.2rem}}

.account-bar{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:.65rem 0;flex-wrap:wrap}
.account-bar .session{margin:0}.atropelamento{--dot:#a2324a}#manualCoordinates summary{cursor:pointer}
#manualCoordinates[open] summary{margin-bottom:.5rem}
