/* A ficha de campo mantém a cartografia ao lado do relato, sem alterar o portal. */
.nm-app .nm-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.nm-app .nm-hero-actions button { background:transparent; color:inherit; }
.nm-collaborate { max-width:1440px; margin:auto; padding:48px clamp(20px,4vw,64px); display:grid; grid-template-columns:1.2fr 1fr; gap:48px; border-top:1px solid var(--nm-linha); }
.nm-collaborate h2 { margin:8px 0 12px; color:var(--nm-marinho); font-family:Montserrat,'Segoe UI',sans-serif; font-size:clamp(24px,3vw,34px); }
.nm-collaborate p { max-width:600px; }
.nm-app .nm-contrib-button { display:inline-flex; justify-content:center; align-items:center; gap:16px; border:1px solid var(--nm-marinho); border-radius:5px; background:var(--nm-marinho); color:#fff; padding:12px 18px; min-height:44px; font-weight:700; text-decoration:none; }
.nm-app .nm-contrib-outline { background:var(--nm-papel); color:var(--nm-marinho); }
.nm-app .nm-contrib-button:disabled { opacity:.6; cursor:wait; }
.nm-track-form { align-self:center; }
.nm-track-form label { display:block; font-weight:700; margin-bottom:8px; }
.nm-track-form>div { display:flex; gap:8px; }
.nm-track-form input { width:100%; min-width:0; border:1px solid var(--nm-linha); padding:12px; background:var(--nm-papel); color:var(--nm-texto); border-radius:5px; }
.nm-track-result { min-height:24px; font-size:14px; }
.nm-app .nm-contrib-dialog { width:min(1000px,calc(100% - 24px)); max-height:90dvh; padding:0; border:1px solid var(--nm-linha); border-radius:12px; color:var(--nm-texto); background:var(--nm-papel); box-shadow:0 25px 80px #0a1b3159; overflow:auto; }
.nm-contrib-dialog::backdrop { background:#0a1b31b8; }
.nm-contrib-head { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:22px 28px; border-bottom:1px solid var(--nm-linha); position:sticky; top:0; z-index:1100; background:var(--nm-papel); }
.nm-contrib-head h2 { margin:4px 0 0; color:var(--nm-marinho); font-family:Montserrat,'Segoe UI',sans-serif; font-size:24px; }
.nm-app .nm-contrib-close { min-width:44px; min-height:44px; border:1px solid var(--nm-linha); border-radius:50%; color:var(--nm-marinho); background:transparent; font-size:24px; }
.nm-contrib-edit,.nm-contrib-preview { padding:0 28px 22px; }
.nm-contrib-intro { margin:0 0 20px; font-size:14px; color:var(--nm-muted); }
.nm-contrib-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; }
.nm-contrib-grid h3 { margin:0 0 8px; color:var(--nm-marinho); font-size:18px; }
.nm-contrib-grid h3 span { display:inline-grid; place-items:center; width:28px; height:28px; margin-right:7px; border-radius:50%; background:var(--nm-agua); color:#fff; font-size:14px; }
.nm-contrib-location>p { color:var(--nm-muted); font-size:14px; margin:0 0 12px; }
.nm-contrib-map { height:310px; border:1px solid var(--nm-linha); border-radius:6px; background:var(--nm-agua-clara); }
.nm-contrib-map-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:12px; }
.nm-contrib-position { color:var(--nm-muted); font-size:12px; }
.nm-contrib-territory { margin-top:16px; padding:14px; background:var(--nm-fundo); border-left:3px solid var(--nm-agua); }
.nm-contrib-territory .nm-contrib-fields { margin:8px 0 0; }
.nm-contrib-territory-status { margin:0; font-size:12px; color:var(--nm-muted); }
.nm-contrib-dialog input[readonly] { font-weight:700; background:var(--nm-fundo); }
.nm-contrib-coordinates { margin-top:14px; font-size:13px; }
.nm-contrib-coordinates summary { cursor:pointer; }
.nm-contrib-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0; }
.nm-contrib-dialog label { display:block; font-size:14px; font-weight:700; }
.nm-contrib-dialog label small { display:block; font-size:12px; font-weight:400; color:var(--nm-muted); }
.nm-contrib-dialog input:not([type=checkbox]),.nm-contrib-dialog textarea,.nm-contrib-dialog select { width:100%; min-height:44px; padding:10px; margin:6px 0 12px; border:1px solid var(--nm-linha); border-radius:5px; background:var(--nm-papel); color:var(--nm-texto); }
.nm-contrib-hint { color:var(--nm-muted); font-size:12px; }
.nm-contrib-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nm-contrib-error { color:#9e2626; padding:0 28px; font-weight:700; }
.nm-contrib-error:empty { margin:16px 0; }
.nm-contrib-actions { display:flex; align-items:center; gap:12px; position:sticky; bottom:0; background:var(--nm-papel); border-top:1px solid var(--nm-linha); padding:16px 28px; }
.nm-contrib-step { flex:1; font-size:13px; color:var(--nm-muted); }
.nm-contrib-preview dl { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; padding:20px; border-left:3px solid var(--nm-agua); background:var(--nm-fundo); }
.nm-contrib-preview dt { font-size:13px; color:var(--nm-muted); }
.nm-contrib-preview dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.nm-app .nm-contrib-check { display:flex; align-items:start; gap:10px; font-weight:400; }
.nm-contrib-check input { flex:none; margin-top:4px; width:18px; height:18px; }
.nm-contrib-receipt { padding:32px; text-align:center; }
.nm-contrib-receipt h3 { color:var(--nm-marinho); font-size:26px; }
.nm-contrib-receipt button { margin:4px; }
.nm-contrib-protocol { font-family:Consolas,monospace; color:var(--nm-marinho); font-size:18px; font-weight:700; overflow-wrap:anywhere; padding:16px; background:var(--nm-fundo); border:1px solid var(--nm-linha); }
.nm-app .nm-contrib-dialog [hidden] { display:none !important; }
.nm-app [data-nm-informar][hidden] { display:none !important; }
.nm-app .nm-contrib-dialog { scroll-padding-top:120px; }
.nm-app .nm-contrib-button,.nm-app .nm-contrib-close { transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.nm-app .nm-contrib-button:hover:not(:disabled) { box-shadow:0 3px 8px #0a1b311a; }
.a11y-contrast .nm-contrib-error { color:#ffb4b4; }
@media(max-width:760px) {
  .nm-collaborate,.nm-contrib-grid { grid-template-columns:1fr; gap:24px; }
  .nm-contrib-edit,.nm-contrib-preview { padding:0 18px 18px; }
  .nm-contrib-head,.nm-contrib-actions { padding:16px 18px; }
  .nm-contrib-actions { flex-wrap:wrap; }
  .nm-contrib-step { display:none; }
  .nm-contrib-actions button { flex:1; }
  .nm-contrib-map { height:270px; }
  .nm-contrib-preview dl { grid-template-columns:1fr; gap:4px; }
  .nm-contrib-preview dd { margin-bottom:10px; }
}
.nm-app .nm-contrib-hydro { margin-top:20px; padding:14px; border:1px solid #c8dcda; border-radius:6px; background:#f3f7f6; }
.nm-app .nm-contrib-hydro summary { cursor:pointer; font-weight:700; color:var(--nm-marinho,#0f2440); }
.nm-app .nm-contrib-hydro p { font-size:13px; line-height:1.5; }
