:root{font-family:Segoe UI,Arial,sans-serif;color:#203d38;background:#f3f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#173e34;color:white;min-height:80px;display:flex;align-items:center;padding:20px 5%;gap:40px}header>span{font-size:11px;letter-spacing:1.4px}.brand{font-size:25px;font-weight:750;color:white;text-decoration:none}.brand span{font-weight:350;margin-left:5px}.local{margin-left:auto;color:#bfe0bd}main{width:96%;max-width:1500px;margin:45px auto;padding:0 24px 100px}.eyebrow{color:#677f65;font-size:12px;letter-spacing:2px;font-weight:700}h1{font-size:36px;margin:12px 0}p{color:#65766e;line-height:1.6}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}button,.button{border:1px solid #c4d0c7;border-radius:7px;background:white;color:#234f3e;padding:12px 18px;font:inherit;cursor:pointer}button:hover{background:#e8f0e8}button.primary{background:#285d43;border-color:#285d43;color:white}button:disabled{opacity:.6;cursor:wait}input,select{width:100%;font:inherit;padding:12px;border:1px solid #becdc1;border-radius:6px;background:#fff;color:#213d32}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #b7cb73;outline-offset:2px}.search{max-width:360px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card,section,.empty{border:1px solid #d9e2d9;background:white;border-radius:12px;padding:26px}.card h2{margin:14px 0;font-size:23px}.badge{font-size:11px;letter-spacing:.6px;padding:5px 8px;background:#ecf1dc;border-radius:4px;color:#506232}.card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e3e9e3;margin-top:20px;padding-top:18px}.empty{padding:65px;text-align:center;grid-column:1/-1}.layout{display:grid;grid-template-columns:225px 1fr;gap:28px}.steps{position:sticky;top:24px;align-self:start}.steps a{display:block;padding:11px 8px;color:#315c49;text-decoration:none;border-bottom:1px solid #dbe4db;font-size:13px}.steps p{font-size:12px}section{margin-bottom:20px;scroll-margin-top:20px}section h2{font-size:17px;line-height:1.5;margin:0 0 22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label.field{display:block;font-size:13px;font-weight:600}.field input,.field select{margin-top:8px;font-weight:400}.wide{grid-column:1/-1}.choice{display:flex;align-items:flex-start;gap:12px;padding:13px 0;line-height:1.55;font-size:14px}.choice input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:#285d43}.help{font-size:13px}.coord{border:0;padding:0;margin:24px 0}legend{font-weight:600;font-size:14px;margin-bottom:15px}.coord .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{position:sticky;bottom:0;background:#f3f6f3f5;border-top:1px solid #ccd8ce;padding:16px;display:flex;align-items:center;gap:12px;z-index:2}.actions span{margin-right:auto;font-size:13px}#notice:not(:empty){position:fixed;bottom:22px;left:24px;max-width:500px;padding:18px;background:#183f32;color:white;border-radius:8px;z-index:4}#errors{color:#a12d24;white-space:pre-line}.hint{background:#edf2e7;border-left:3px solid #8d9f6b;padding:12px;font-size:13px}.muted{font-size:12px;color:#728278}@media(max-width:760px){header{gap:15px;flex-wrap:wrap}header>span{font-size:9px}.local{margin-left:0}main{margin-top:26px}.layout,.cards,.grid{grid-template-columns:1fr}.steps{position:static}.steps a{display:inline-block;margin-right:5px}.steps p{display:none}h1{font-size:28px}.toolbar{flex-wrap:wrap}.wide{grid-column:auto}.coord .grid{grid-template-columns:1fr}.actions{flex-wrap:wrap}section{padding:20px}.empty{padding:30px}}

/* Completion controls and report preview. */
.layout>form{min-width:0}.steps{max-height:90vh;overflow:auto}
.field textarea{width:100%;margin:8px 0 18px;padding:12px;min-height:110px;font:inherit;line-height:1.5;border:1px solid #becdc1;border-radius:6px;resize:vertical}
.photo-editor{margin:20px 0;padding:16px;background:#f5f8f5;border-radius:8px}
.photo-edit{display:grid;gap:12px;margin:16px 0;padding:12px;border:1px solid #cbd6cb}.photo-edit img,.map-entry img{max-width:220px;max-height:160px;object-fit:contain}
#photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}figure{margin:10px 0;break-inside:avoid}#photo-gallery img{display:block;width:100%;max-height:440px;object-fit:contain;margin:10px 0}figcaption{line-height:1.5}
.map-entry{border:1px solid #cbd6cb;padding:12px;margin:12px 0}.map-entry input{margin:8px 0}
.report-dialog{width:95vw;max-width:1100px;height:92vh;border:1px solid #999;padding:20px}.report-dialog::backdrop{background:#0008}.report-controls{position:sticky;top:0;background:white;padding:10px;z-index:2}
.report-preview{color:#111;background:white;font-family:Arial,sans-serif;padding:25px;line-height:1.45}.report-preview p{color:#111;white-space:normal}.report-preview h2{font-size:16px;margin-top:28px}.report-preview table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.report-preview th,.report-preview td{border:1px solid #aaa;padding:8px;overflow-wrap:anywhere;vertical-align:top}.report-preview th{background:#eee}.report-preview figure img{max-width:100%;max-height:650px;object-fit:contain}.report-logos{display:flex;align-items:center;justify-content:space-between}.report-logos img{width:auto;height:auto;max-width:40%;max-height:90px;object-fit:contain}
@media(max-width:760px){main{padding:0 8px 100px;width:100%}.steps{max-height:none}#photo-gallery{grid-template-columns:1fr}.photo-editor{padding:8px}.report-dialog{padding:8px}.report-preview{padding:8px}.report-table{overflow:auto}.report-preview table{min-width:620px}.report-logos img{width:auto;max-width:40%;max-height:70px}.card footer{flex-wrap:wrap;gap:10px}.actions button{padding:10px}.occurrence-card input{min-width:0}}
@media print{@page{size:A4;margin:18mm}body>header,body>main,#notice,.report-controls{display:none!important}body{background:white}.report-dialog{display:block!important;position:static!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border:0;padding:0;overflow:visible}.report-preview{padding:0}.report-preview .page-break{break-before:page}.report-preview h2{break-after:avoid}.report-preview thead{display:table-header-group}.report-preview tr{break-inside:avoid}.report-table{overflow:visible}.report-preview figure img{max-height:180mm}.report-preview table{min-width:0}.report-dialog::backdrop{display:none}}


/* SEÇÃO A — COORDENADAS UTM */
.coord{
  margin:18px 0 22px;
}

.coord legend{
  margin-bottom:12px;
}

.coord .field{
  min-width:0;
}

.coord .field input{
  width:100%;
}

[data-fuso-utm]{
  width:100%;
}

[data-fuso-aviso]:not([hidden]){
  margin:12px 0 4px;
  border-left-color:#b98927;
  background:#faf3df;
  color:#6b5420;
}

@media(max-width:760px){
  .coord .grid{
    grid-template-columns:1fr;
  }
}
/* ANEXO II */
.annex-intro{
  margin-bottom:18px;
}
.annex-list{
  display:grid;
  gap:10px;
}
.annex-item{
  border:1px solid #dce5dd;
  border-radius:8px;
  padding:14px 16px;
  background:#fbfcfa;
}
.annex-title{
  display:flex;
  align-items:flex-start;
  gap:7px;
  font-size:13px;
  line-height:1.45;
  color:#203d38;
}
.annex-title strong{
  flex:0 0 auto;
  color:#285d43;
}
.annex-status{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 24px;
  margin-top:11px;
}
.annex-status label{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-size:13px;
  font-weight:400;
  cursor:pointer;
  white-space:nowrap;
}
.annex-status input[type="radio"]{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 16px;
  accent-color:#285d43;
}

@media(max-width:760px){
  .annex-item{
    padding:13px;
  }
  .annex-status{
    gap:10px 18px;
  }
}
.annex-details{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e1e8e2;
  font-size:13px;
  color:#65766e;
}
.annex-details strong{
  color:#285d43;
}
.annex-add{
  padding:8px 12px;
  font-size:13px;
  background:#fff;
  border-color:#aebfb2;
}

@media(max-width:760px){
  .annex-details{
    align-items:flex-start;
    flex-direction:column;
  }
}
/* OCORRÊNCIAS DO ANEXO II */
.annex-occurrences{
  flex:1;
  min-width:0;
  display:grid;
  gap:10px;
}

.occurrence-card{
  display:grid;
  grid-template-columns:minmax(110px,.7fr) minmax(180px,1.35fr) minmax(180px,1.2fr);
  align-items:end;
  gap:12px 15px;
  padding:15px;
  border:1px solid #d9e3da;
  border-radius:7px;
  background:#fff;
}

.occurrence-specific{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1.15fr);
  gap:12px 15px;
  padding-top:12px;
  border-top:1px solid #e4ebe5;
}

.occurrence-specific .occurrence-field{
  min-width:0;
}

.occurrence-specific input,
.occurrence-specific select{
  width:100%;
}

.occurrence-card > strong{
  align-self:center;
  font-size:13px;
  color:#285d43;
}

.occurrence-side{
  display:block;
  margin:0;
  font-size:12px;
  font-weight:600;
  color:#52675d;
}

.occurrence-side select{
  margin-top:5px;
  padding:8px 10px;
  font-size:13px;
}

.occurrence-remove{
  padding:8px 11px;
  font-size:12px;
  align-self:end;
}

@media(max-width:760px){
  .occurrence-card{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .occurrence-remove{
    justify-self:start;
  }
}
/* AJUSTE FINAL DO CARTÃO DE OCORRÊNCIA */
.occurrence-notes{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:15px;
  padding-top:12px;
  border-top:1px solid #e4ebe5;
}

.occurrence-notes label{
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
  font-size:12px;
  font-weight:600;
  color:#52675d;
}

.occurrence-notes textarea{
  display:block;
  width:100%;
  min-width:0;
  min-height:72px;
  margin-top:5px;
  padding:10px 12px;
  border:1px solid #becdc1;
  border-radius:6px;
  background:#fff;
  color:#213d32;
  font:inherit;
  font-weight:400;
  resize:vertical;
}

.occurrence-notes textarea:focus{
  outline:3px solid #b7cb73;
  outline-offset:2px;
}

.occurrence-remove{
  grid-column:1 / -1;
  justify-self:end;
  width:auto;
  min-width:150px;
  margin-top:0;
  padding:8px 14px;
  font-size:12px;
}

@media(max-width:760px){
  .occurrence-notes{
    grid-template-columns:1fr;
  }

  .occurrence-remove{
    justify-self:stretch;
    width:100%;
  }
}
/* RTV DIGITAL - LAYOUT OCORRENCIAS V2 */

.occurrence-card{
  grid-template-columns:
    minmax(150px,1fr)
    minmax(150px,1fr)
    minmax(150px,1fr);
  align-items:end;
}

.occurrence-card > strong{
  grid-column:1 / -1;
  align-self:center;
  padding-bottom:2px;
}

.occurrence-card > .occurrence-field{
  min-width:0;
}

.occurrence-card > .occurrence-field input,
.occurrence-card > .occurrence-field select{
  width:100%;
  box-sizing:border-box;
}

.occurrence-card > .occurrence-side{
  min-width:0;
}

.occurrence-card > .occurrence-side select{
  width:100%;
  box-sizing:border-box;
}

.occurrence-context{
  grid-template-columns:
    repeat(auto-fit,minmax(190px,1fr));
}

.occurrence-hint{
  grid-column:1 / -1;
  padding:10px 12px;
  border:1px solid #d9e3da;
  border-radius:6px;
  background:#f7faf7;
  font-size:13px;
  line-height:1.45;
}

@media(max-width:760px){
  .occurrence-card{
    grid-template-columns:1fr;
  }

  .occurrence-card > strong{
    grid-column:1;
  }

  .occurrence-specific,
  .occurrence-context,
  .occurrence-notes{
    grid-template-columns:1fr;
  }
}
/* RTV DIGITAL - MINA DAGUA V1 */
.occurrence-card-water{
  grid-template-columns:
    minmax(130px,.75fr)
    minmax(150px,.85fr)
    minmax(180px,1fr)
    minmax(180px,1fr);
}

.occurrence-card-water > strong{
  grid-column:1 / -1;
}

.occurrence-card-water .occurrence-context,
.occurrence-card-water .occurrence-specific,
.occurrence-card-water .occurrence-notes,
.occurrence-card-water > button{
  grid-column:1 / -1;
}

@media(max-width:900px){
  .occurrence-card-water{
    grid-template-columns:
      minmax(150px,1fr)
      minmax(150px,1fr);
  }

  .occurrence-card-water > strong{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .occurrence-card-water{
    grid-template-columns:1fr;
  }

  .occurrence-card-water > strong,
  .occurrence-card-water .occurrence-context,
  .occurrence-card-water .occurrence-specific,
  .occurrence-card-water .occurrence-notes,
  .occurrence-card-water > button{
    grid-column:1;
  }
}

/* BUSCA DE MUNICÍPIOS DO PARANÁ */
.municipio-field{
  position:relative;
}

.municipio-search{
  position:relative;
}

.municipio-results{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  margin-top:4px;
  max-height:300px;
  overflow-y:auto;
  background:#fff;
  border:1px solid #becdc1;
  border-radius:7px;
  box-shadow:0 8px 24px rgba(32,61,56,.14);
  z-index:20;
}

.municipio-results[hidden]{
  display:none;
}

.municipio-option{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid #e5ebe6;
  border-radius:0;
  background:#fff;
  color:#213d32;
  text-align:left;
}

.municipio-option:last-child{
  border-bottom:0;
}

.municipio-option:hover,
.municipio-option:focus{
  background:#edf2e7;
}

.municipio-option span{
  font-weight:600;
}

.municipio-option small{
  flex-shrink:0;
  color:#728278;
  font-size:11px;
}

.municipio-empty{
  padding:12px;
  color:#728278;
  font-size:12px;
}

.municipio-field > .muted{
  display:block;
  margin-top:6px;
}

@media(max-width:760px){
  .municipio-option{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}

/* RTV DIGITAL - REFERENCIA CARTOGRAFICA ITEM 33 */
.item33-fields{
  display:grid;
  gap:18px;
  grid-column:1 / -1;
}

.item33-reference{
  padding:16px;
  border:1px solid #becdc1;
  border-radius:9px;
  background:#f7faf7;
}

.item33-reference-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.item33-reference-header > div{
  min-width:0;
}

.item33-reference-header strong{
  display:block;
  color:#213d32;
  font-size:15px;
}

.item33-reference-header p{
  margin:5px 0 0;
}

.item33-reference-header button{
  flex-shrink:0;
}

.item33-reference-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.item33-reference-card{
  min-width:0;
  padding:14px;
  border:1px solid #dbe5dd;
  border-radius:8px;
  background:#fff;
}

.item33-reference-card > strong{
  display:block;
  margin-bottom:8px;
  color:#213d32;
}

.item33-reference-card p{
  margin:6px 0;
  line-height:1.45;
}

.item33-reference-card small{
  display:block;
  margin-top:10px;
  color:#728278;
  line-height:1.4;
}

.item33-reference-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #dbe5dd;
  color:#53665b;
  font-size:12px;
}

.item33-reference-warning{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #d9cfa9;
  border-radius:7px;
  background:#fffdf4;
  line-height:1.45;
}

.item33-reference-status{
  margin-top:10px;
  font-size:12px;
  font-weight:600;
}

.item33-reference-status:empty{
  display:none;
}

.item33-observed,
.item33-final-text{
  padding:16px;
  border:1px solid #dbe5dd;
  border-radius:9px;
  background:#fff;
}

.item33-observed h4{
  margin:0 0 5px;
  color:#213d32;
}

.item33-observed > .muted{
  margin:0 0 14px;
}

.item33-observed .occurrence-specific{
  margin-top:0;
}

.item33-final-text .occurrence-field{
  width:100%;
}

.item33-final-text textarea{
  width:100%;
  min-height:120px;
  resize:vertical;
}

.item33-final-text small{
  display:block;
  margin-top:7px;
}

@media(max-width:900px){
  .item33-reference-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .item33-reference-header{
    flex-direction:column;
  }

  .item33-reference-header button{
    width:100%;
  }

  .item33-reference-meta{
    flex-direction:column;
    gap:6px;
  }

  .item33-reference,
  .item33-observed,
  .item33-final-text{
    padding:12px;
  }
}

/* RTV DIGITAL - ALINHAMENTO 4 COLUNAS OCORRENCIAS V3 */

/*
  Cartão padrão:
  Posição | Lado | Coordenada E | Coordenada N
*/
.occurrence-card:not(.occurrence-card-water){
  grid-template-columns:
    repeat(4,minmax(0,1fr));
  align-items:end;
}

/* Título sempre ocupa a largura inteira */
.occurrence-card:not(.occurrence-card-water) > strong{
  grid-column:1 / -1;
}

/*
  Contexto, campos específicos e observações continuam
  em linhas independentes do cabeçalho da ocorrência.
*/
.occurrence-card:not(.occurrence-card-water) > .occurrence-context,
.occurrence-card:not(.occurrence-card-water) > .occurrence-specific,
.occurrence-card:not(.occurrence-card-water) > .occurrence-notes{
  grid-column:1 / -1;
}

/* Evita estouro dos campos */
.occurrence-card:not(.occurrence-card-water) > .occurrence-field,
.occurrence-card:not(.occurrence-card-water) > .occurrence-side{
  min-width:0;
}

.occurrence-card:not(.occurrence-card-water) > .occurrence-field input,
.occurrence-card:not(.occurrence-card-water) > .occurrence-field select,
.occurrence-card:not(.occurrence-card-water) > .occurrence-side select{
  width:100%;
  box-sizing:border-box;
}

/*
  Tablet:
  duas colunas.
*/
@media(max-width:900px) and (min-width:761px){
  .occurrence-card:not(.occurrence-card-water){
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .occurrence-card:not(.occurrence-card-water) > strong{
    grid-column:1 / -1;
  }
}

/*
  Celular:
  uma coluna.
*/
@media(max-width:760px){
  .occurrence-card:not(.occurrence-card-water){
    grid-template-columns:1fr;
  }

  .occurrence-card:not(.occurrence-card-water) > strong,
  .occurrence-card:not(.occurrence-card-water) > .occurrence-context,
  .occurrence-card:not(.occurrence-card-water) > .occurrence-specific,
  .occurrence-card:not(.occurrence-card-water) > .occurrence-notes{
    grid-column:1;
  }
}

/* RTV DIGITAL - BOTAO ADICIONAR OCORRENCIA V1 */

.annex-add-row{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  margin-top:2px;
}

.annex-add-row .annex-add{
  width:auto;
  margin:0;
}

@media(max-width:760px){
  .annex-add-row .annex-add{
    width:100%;
  }
}

/* RTV DIGITAL - ITEM 19 TRECHO */

.occurrence-geometry-mode{
  grid-column:1 / -1;
}

.occurrence-geometry-mode .occurrence-field{
  max-width:220px;
}

.occurrence-position-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px 15px;
  align-items:end;
}

.occurrence-position-segment{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.occurrence-position-segment .occurrence-segment-length{
  grid-column:3;
}

.occurrence-position-segment
  .occurrence-segment-length
  + .occurrence-field{
  grid-column:1;
}

.occurrence-position-grid .occurrence-field{
  min-width:0;
}

.occurrence-position-grid input,
.occurrence-position-grid select{
  width:100%;
  box-sizing:border-box;
}

@media (max-width:900px) and (min-width:761px){
  .occurrence-position-grid,
  .occurrence-position-segment{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .occurrence-position-segment .occurrence-segment-length{
    grid-column:auto;
  }

  .occurrence-position-segment
    .occurrence-segment-length
    + .occurrence-field{
    grid-column:auto;
  }
}

@media (max-width:760px){
  .occurrence-position-grid,
  .occurrence-position-segment{
    grid-template-columns:1fr;
  }

  .occurrence-position-segment .occurrence-segment-length,
  .occurrence-position-segment
    .occurrence-segment-length
    + .occurrence-field{
    grid-column:auto;
  }
}

/* ==========================================================
   ANEXO I – CADERNETA DE CAMPO
   Visualização técnica e impressão
   ========================================================== */

#annex-I{
  overflow:visible;
}

#annex-I-content{
  width:100%;
}

.annex-I-sheet{
  width:100%;
  max-width:none;
  margin:0;
  color:#17251d;
  font-size:13px;
}

.annex-I-title{
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #9aaba0;
  background:#edf2ee;
  text-align:center;
  font-size:16px;
  font-weight:700;
  letter-spacing:.02em;
}

.annex-I-header-table{
  width:100%;
  margin:0 0 14px;
  border-collapse:collapse;
  table-layout:fixed;
}

.annex-I-header-table th,
.annex-I-header-table td{
  border:1px solid #9aaba0;
  padding:7px 9px;
  vertical-align:middle;
  line-height:1.3;
}

.annex-I-header-table th{
  width:18%;
  background:#edf2ee;
  text-align:right;
  font-size:12px;
  font-weight:700;
}

.annex-I-header-table td{
  background:#fff;
}

.annex-I-table-wrap{
  width:100%;
  overflow-x:auto;
  padding-bottom:6px;
}

.annex-I-table{
  width:100%;
  min-width:1180px;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
  font-size:12px;
  line-height:1.35;
}

.annex-I-table th,
.annex-I-table td{
  border:1px solid #8fa096;
  padding:8px 7px;
  vertical-align:top;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.annex-I-table thead th{
  background:#e6ede8;
  color:#17251d;
  text-align:center;
  vertical-align:middle;
  font-size:11.5px;
  font-weight:700;
  line-height:1.25;
}

.annex-I-table tbody tr:nth-child(even){
  background:#fafcfb;
}

.annex-I-table tbody tr:hover{
  background:#f3f7f4;
}

.annex-I-table td:first-child{
  text-align:center;
  vertical-align:top;
  font-weight:600;
}

.annex-I-coord{
  display:block;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  line-height:1.45;
}

/*
  Distribuição das 8 colunas.
  Descrição e recomendação recebem a maior parte da largura.
*/
.annex-I-width-number{
  width:4%;
}

.annex-I-width-interest{
  width:15%;
}

.annex-I-width-coordinate{
  width:10%;
}

.annex-I-width-description{
  width:20%;
}

.annex-I-width-length{
  width:6%;
}

.annex-I-width-photo{
  width:8%;
}

.annex-I-width-recommendation{
  width:27%;
}

/* Evita que rótulos técnicos virem uma palavra por linha. */
.annex-I-table td,
.annex-I-table th{
  white-space:normal;
}

.annex-I-table td:nth-child(2){
  font-size:11.5px;
}

.annex-I-table td:nth-child(3),
.annex-I-table td:nth-child(4),
.annex-I-table td:nth-child(6),
.annex-I-table td:nth-child(7){
  text-align:center;
}

.annex-I-table td:nth-child(5),
.annex-I-table td:nth-child(8){
  line-height:1.45;
}

/* ==========================================================
   IMPRESSÃO DO ANEXO I
   ========================================================== */

@media print{

  @page{
    size:A4 landscape;
    margin:10mm;
  }

  #annex-I{
    break-before:page;
  }

  .annex-I-sheet{
    width:100%;
    font-size:9pt;
    color:#000;
  }

  .annex-I-title{
    background:#eee !important;
    border-color:#555;
    font-size:11pt;
    margin-bottom:3mm;
    padding:2mm;
  }

  .annex-I-header-table{
    margin-bottom:3mm;
  }

  .annex-I-header-table th,
  .annex-I-header-table td{
    border-color:#555;
    padding:1.5mm 2mm;
    font-size:8pt;
  }

  .annex-I-table-wrap{
    overflow:visible;
  }

  .annex-I-table{
    width:100%;
    min-width:0;
    font-size:7.5pt;
  }

  .annex-I-table th,
  .annex-I-table td{
    border-color:#555;
    padding:1.5mm;
  }

  .annex-I-table thead{
    display:table-header-group;
  }

  .annex-I-table tr{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .annex-I-table tbody tr:nth-child(even),
  .annex-I-table tbody tr:hover{
    background:#fff;
  }

  .annex-I-coord{
    white-space:nowrap;
    font-size:7pt;
  }
}

/* ==========================================================
   ANEXO I – AJUSTE DE LARGURA FINAL
   Sem rolagem horizontal e sem cortar FOTO GEORREFERENCIADA
   ========================================================== */

#annex-I,
#annex-I-content,
.annex-I-sheet,
.annex-I-table-wrap{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.annex-I-table-wrap{
  overflow-x:hidden;
}

.annex-I-table{
  width:100%;
  min-width:0;
  max-width:100%;
  table-layout:fixed;
  box-sizing:border-box;
}

/* 100% distribuídos entre as 8 colunas */
.annex-I-width-number{
  width:4%;
}

.annex-I-width-interest{
  width:15%;
}

/* Esta classe é usada duas vezes: inicial e final */
.annex-I-width-coordinate{
  width:10%;
}

.annex-I-width-description{
  width:19%;
}

.annex-I-width-length{
  width:6%;
}

.annex-I-width-photo{
  width:10%;
}

.annex-I-width-recommendation{
  width:26%;
}

.annex-I-table th,
.annex-I-table td{
  box-sizing:border-box;
  padding:7px 6px;
  word-break:normal;
  overflow-wrap:break-word;
}

.annex-I-table thead th{
  font-size:10.5px;
  line-height:1.2;
  text-align:center;
  vertical-align:middle;
}

/* FOTO GEORREFERENCIADA: quebra limpa sem invadir a próxima coluna */
.annex-I-table thead th:nth-child(7){
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  padding-left:4px;
  padding-right:4px;
}

.annex-I-table td{
  font-size:11px;
}

.annex-I-coord{
  display:block;
  white-space:nowrap;
  font-size:10.5px;
}

/* Compactação somente quando a área disponível for menor */
@media(max-width:1200px){

  .annex-I-table th,
  .annex-I-table td{
    padding:6px 4px;
  }

  .annex-I-table thead th{
    font-size:9.5px;
  }

  .annex-I-table td{
    font-size:10px;
  }

  .annex-I-coord{
    font-size:9.5px;
  }
}

/* ANEXO I - PROPORCOES FINAIS DAS COLUNAS */

.annex-I-width-number{
  width:4%;
}

.annex-I-width-interest{
  width:13%;
}

.annex-I-width-coordinate{
  width:10%;
}

.annex-I-width-description{
  width:18%;
}

.annex-I-width-length{
  width:6%;
}

.annex-I-width-photo{
  width:13%;
}

.annex-I-width-recommendation{
  width:26%;
}

/* Mantém o título da foto legível dentro da própria coluna */
.annex-I-table thead th:nth-child(7){
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  font-size:10px;
  line-height:1.15;
}

/* ANEXO I - AJUSTE FINAL DA COLUNA EXTENSAO */

.annex-I-width-length{
  width:7%;
}

.annex-I-width-recommendation{
  width:25%;
}

/* Não permite quebrar a palavra EXTENSÃO */
.annex-I-table thead th:nth-child(6){
  white-space:normal;
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
  font-size:10px;
  line-height:1.15;
}

.report-pdf{width:100%;height:80vh;border:0}

/* Field interface only. Report preview, print and document generation are frozen. */
@media screen {
 body > main {max-width:1280px;margin-top:24px;padding-bottom:32px;}
 #app {line-height:1.5;}
 #app [hidden] {display:none!important;}
 #app .toolbar {margin:16px 0 24px;gap:12px;}
 #app .toolbar h1 {font-size:28px;margin:6px 0;overflow-wrap:anywhere;}
 #app .toolbar p {margin:4px 0;}
 #app .layout {grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start;}
 #app .steps {top:16px;max-height:calc(100vh - 32px);padding:2px;}
 #app .steps a {font-size:14px;line-height:1.4;padding:10px 12px;border:0;border-radius:6px;margin:3px 0;}
 #app .steps a[aria-current] {background:#e3eee5;color:#173e34;font-weight:700;border-left:3px solid #285d43;}
 #app .ux-section-label {display:block;font-size:14px;font-weight:600;margin:0 0 6px;}
 #app #ux-position {float:right;font-weight:400;}
 #app #ux-section {margin-bottom:10px;}
 #app #ux-show-all {font-size:14px;width:100%;margin-top:8px;}
 #app section {padding:24px;scroll-margin-top:16px;border-color:#ccd8ce;}
 #app section h2 {font-size:18px;line-height:1.45;}
 #app p,#app .muted,#app .help,#app .hint {color:#4a5e53;}
 #app .muted,#app .help,#app small {font-size:14px;line-height:1.5;}
 #app label.field,#app .occurrence-field,#app .occurrence-side {font-size:14px;line-height:1.5;}
 #app input:not([type=radio]):not([type=checkbox]),#app select,#app textarea {font-size:16px;min-height:46px;padding:11px 12px;max-width:100%;min-width:0;color:#203d38;}
 #app textarea {line-height:1.55;width:100%;}
 #app button {min-height:44px;font-size:15px;line-height:1.3;padding:10px 14px;white-space:normal;}
 #app :is(button,a,input,select,textarea,summary):focus-visible {outline:3px solid #285d43;outline-offset:3px;}
 #app :is(.grid,.occurrence-card,.occurrence-specific,.occurrence-position-grid)>* {min-width:0;}
 #app .choice {min-height:48px;cursor:pointer;}
 #app .choice input {width:22px;height:22px;}
 #app .annex-item {padding:16px;background:#fff;scroll-margin-top:105px;}
 #app .annex-title {font-size:15px;line-height:1.5;color:#203d38;}
 #app .annex-status {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 #app .annex-status label {min-height:48px;border:1px solid #bdccbf;border-radius:6px;padding:8px;white-space:normal;font-size:14px;line-height:1.3;}
 #app .annex-status label:has(:checked) {background:#e3eee5;border:2px solid #285d43;font-weight:600;padding:7px;}
 #app .annex-status input[type=radio] {width:20px;height:20px;flex-basis:20px;}
 #app .annex-details,#app .annex-occurrences {width:100%;}
 #app .annex-details {font-size:14px;}
 #app .annex-add-row {margin-top:4px;}
 #app .annex-add {width:100%;border:1px solid #285d43;color:#173e34;background:#edf4ee;font-weight:600;}
 #app .occurrence-shell {border:1px solid #b8cbbc;border-radius:8px;background:#fff;scroll-margin-top:105px;min-width:0;}
 #app .occurrence-shell[open] {border-color:#285d43;}
 #app .occurrence-shell summary {padding:14px;cursor:pointer;color:#203d38;font-size:15px;}
 #app .occurrence-shell summary span {display:block;margin-top:4px;overflow-wrap:anywhere;}
 #app .occurrence-shell .ux-edit-hint {font-size:14px;color:#42614c;}
 #app .occurrence-card {border:0;border-top:1px solid #d7e2d9;border-radius:0 0 8px 8px;padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));}
 #app .occurrence-card > strong {display:none;}
 #app .occurrence-card .photo-editor {grid-column:1/-1;margin:8px 0;padding:14px;}
 #app .ux-occ-done {grid-column:1/-1;border-color:#285d43;font-weight:600;}
 #app .photo-edit,#app .map-entry {border-radius:8px;}
 #app .photo-edit img,#app .map-entry img {width:100%;max-width:320px;max-height:220px;object-fit:contain;}
 #app input[type=file] {border:1px dashed #799781;background:#f4f8f4;cursor:pointer;}
 #app input::file-selector-button {font:inherit;background:#e3eee5;border:1px solid #96af9b;border-radius:5px;padding:9px;margin-right:8px;color:#173e34;cursor:pointer;}
 #app .photo-edit button {margin:3px 2px 3px 0;}
 #app #endpoint-photos {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
 #app #endpoint-photos > div {padding:16px;background:#f5f8f5;border:1px solid #d7e2d9;border-radius:8px;}
 #app .actions {gap:8px;padding:12px 0;background:#f3f6f3;bottom:0;display:flex;flex-wrap:wrap;}
 #app #saved {flex:1 0 100%;font-size:14px;color:#334e3e;}
 #app #save {margin-left:auto;}
 #app button:disabled {cursor:default;}
 #app .ux-field-error {display:block;color:#8a211b;font-size:14px;padding:6px 0;}
 #notice:not(:empty) {bottom:125px;left:16px;right:16px;max-width:520px;font-size:15px;}
 #app .annex-I-table-wrap {max-width:100%;}
}
@media screen and (max-width:900px) {
 body > header {padding:14px 16px;min-height:60px;gap:8px 16px;}
 body > header > span:not(.local) {display:none;}
 body > header .local {font-size:10px;margin-left:auto;letter-spacing:.4px;}
 body > main {width:100%;padding:0 12px 24px;margin-top:16px;}
 #app .layout {display:block;}
 #app .steps {position:sticky;top:0;z-index:3;max-height:none;padding:10px 0 8px;background:#f3f6f3;border-bottom:1px solid #bdccbf;margin-bottom:14px;}
 #app .ux-section-links,#app #ux-show-all {display:none;}
 #app #ux-section {margin:0;}
 #app .toolbar {margin:14px 0;}
 #app .toolbar .eyebrow {font-size:11px;letter-spacing:.6px;}
 #app .toolbar h1 {font-size:25px;}
 #app .toolbar p,#app .toolbar > .badge {display:none;}
 #app section {scroll-margin-top:106px;padding:16px;margin-bottom:12px;}
 #app .grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
 #app .actions {position:sticky;bottom:0;padding:8px 0 max(8px,env(safe-area-inset-bottom));gap:6px;}
 #app #save {flex:1;margin-left:0;}
 #app #saved {font-size:13px;}
 /* Keep the focused field clear when the on-screen keyboard reduces the viewport. */
 #app #editor:has(input:focus,textarea:focus,select:focus) .actions {position:static;}
 #app #editor :is(input,select,textarea) {scroll-margin-block:110px;}
}
@media screen and (max-width:600px) {
 #app .grid,#app .coord .grid,#app #endpoint-photos,#app #photo-gallery {grid-template-columns:minmax(0,1fr);}
 #app .annex-item {padding:12px;}
 #app #annex-II {padding:12px;}
 #app .occurrence-card,#app .occurrence-specific,#app .occurrence-position-grid {grid-template-columns:minmax(0,1fr);padding:12px;}
 #app .occurrence-card .occurrence-specific,#app .occurrence-position-grid {padding-left:0;padding-right:0;}
 #app .annex-status {gap:5px;}
 #app .annex-status label {flex-direction:column;align-items:flex-start;gap:5px;}
 #app .occurrence-shell summary {padding:12px;}
 #app .occurrence-card .photo-editor {padding:10px;}
 #app .photo-edit {padding:10px;}
 #app .annex-title {font-size:15px;}
 #app .card {padding:18px;}
 #app .toolbar .search {max-width:none;width:100%;}
 #app #report-section > button {width:100%;margin-bottom:10px;}
 #app .annex-I-header-table {table-layout:fixed;width:100%;}
 #app .annex-I-header-table :is(th,td) {overflow-wrap:anywhere;}
}


/* Compact save feedback stays with section navigation. */
@media screen {
 #app .ux-section-label {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
 #app #ux-position {float:none;margin-left:auto;order:2;}
 #app .steps #saved {flex:0 0 auto;font-size:13px;margin-left:auto;color:#334e3e;}
 #app .actions {flex-wrap:nowrap;}
 #app .actions button {min-width:0;}
}

@media screen {
 #app .occurrence-field,#app .occurrence-side {color:#314f43;}
 #app .occurrence-geometry-mode .occurrence-field {max-width:none;}
}

@media screen { #app .occurrence-field {display:block;} #app .occurrence-specific {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media screen and (max-width:600px) { #app .occurrence-specific {grid-template-columns:minmax(0,1fr);} }

/* Field mode: same form handlers, one focused entry panel. */
.field-mode > :not(.layout){display:none!important}
.field-mode .layout{display:block}
.field-mode .steps,.field-mode #editor > :not(#field-panel){display:none!important}
#field-panel{max-width:760px;margin:auto;padding:20px;background:#fff;color:#102a22;border:2px solid #173e34;border-radius:12px;overflow-wrap:anywhere}
#field-panel[hidden]{display:none}
#field-panel p,#field-panel small{color:#243a32}
#field-panel h1{font-size:28px}
#field-panel h2{font-size:22px;line-height:1.4}
#field-panel input,#field-panel select,#field-panel button,#field-panel .button{min-height:48px;font-size:17px;max-width:100%;touch-action:manipulation}
#field-panel input,#field-panel select{width:100%;min-width:0}
#field-panel .field-top,#field-panel .occurrence-position-grid,#field-panel .occurrence-specific,#field-panel .occurrence-context{display:grid;grid-template-columns:1fr;gap:12px}
#field-panel button,#field-panel .button{margin:8px 0;white-space:normal}
#field-panel .primary{width:100%;background:#123c2e;color:white}
#field-panel .device-location,#field-status{padding:12px;border:1px solid #234f3e;background:#edf6ee;line-height:1.6}
#field-panel .field-storage{font-size:14px}
#field-panel .field-photo-action{display:block;border:2px solid #173e34;padding:12px}
#field-panel .field-photos img{max-width:100%;max-height:260px;object-fit:contain}
#field-panel .field-photos figure{padding:12px;border:1px solid #234f3e}
@media(max-width:480px){#field-panel{padding:14px}.field-mode{padding:0 8px 32px}#field-panel .occurrence-field{grid-column:auto!important;width:100%}}
#field-panel summary{min-height:48px;padding:12px 0;font-size:16px;cursor:pointer;color:#183c2d}
#field-panel .field-official{border:1px solid #a2b9a8;padding:0 12px;margin:12px 0}
#field-panel .field-official label{display:block}
#field-panel .field-storage{margin:4px 0 12px}

/* Candidate: mobile navigation and inline item results. */
.field-mode .field-secondary { background:#fff; color:#174b37; border:2px solid #376c53; min-height:48px; padding:12px 16px; font-weight:700; margin:8px 4px 8px 0; }
.field-results {display:grid; gap:8px; max-height:320px; overflow:auto; margin:12px 0;}
.field-results button {text-align:left; min-height:48px; white-space:normal; color:#153e2d; background:#f0f6ef; border:1px solid #669273;}
.measurement-control,.coordinate-tools {padding:12px; margin:10px 0; border:1px solid #b8c6bb; border-radius:6px; overflow-wrap:anywhere;}
.measurement-control summary {min-height:32px; cursor:pointer; font-weight:600;}
.coordinate-tools small,.measurement-control small {display:block; margin:8px 0;}
.coordinate-tools button {min-height:48px; white-space:normal;}
.field-top {flex-wrap:wrap; gap:8px;}
