:root{--bg:#eef2ef;--paper:#fff;--ink:#173028;--muted:#65766f;--line:#dce5e0;--deep:#0f2f25;--accent:#1c6a52;--soft:#e4f0eb;--radius:18px}
*{box-sizing:border-box} body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}
.topbar{background:var(--deep);color:white;padding:18px clamp(18px,4vw,42px);display:flex;align-items:end;justify-content:space-between;gap:20px}
.topbar strong{font-size:1.55rem;letter-spacing:.08em}.topbar span{opacity:.7;margin-left:8px}
.navtabs{display:flex;gap:8px;padding:10px 24px;background:#e6ece8;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.tab{background:transparent;border-color:transparent;font-weight:700;color:var(--muted)}.tab.active{background:white;color:var(--deep);border-color:var(--line)}
.tabpane{display:none}.tabpane.active{display:block}
main{max-width:1180px;margin:auto;padding:24px}
.hero{background:linear-gradient(140deg,#143c30,#1c5a46);color:white;padding:28px;border-radius:26px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.hero.compact{padding:22px}.hero h1{margin:.15rem 0 .45rem;font-size:clamp(1.8rem,4vw,3.2rem)}.hero p{max-width:660px;margin:.2rem 0;color:#d7e8e1}
.eyebrow{font-size:.76rem!important;letter-spacing:.16em;font-weight:800;color:#9ed1bd!important}
button,input,textarea{font:inherit}button{border:1px solid var(--line);border-radius:12px;padding:11px 15px;background:white;color:var(--ink);cursor:pointer}
button.primary{border:none;background:#d7f365;color:#173028;font-weight:800}button.ghost{border:none;background:transparent;font-size:1.2rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.stats article{background:var(--paper);padding:18px;border-radius:var(--radius);border:1px solid var(--line)}
.stats b{display:block;font-size:1.8rem}.stats span{color:var(--muted)}
.toolbar{display:flex;gap:10px;margin:18px 0}.toolbar input{flex:1}
input,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:white;color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;cursor:pointer}
.card .code{font-size:.76rem;color:var(--accent);font-weight:800;letter-spacing:.06em}.card h3{margin:.45rem 0}.card p{color:var(--muted);margin:.3rem 0}
.badge{display:inline-block;background:var(--soft);padding:5px 9px;border-radius:999px;font-size:.75rem;margin-top:8px}
.quickgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.quickcard{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;text-align:left;min-height:130px}
.quickcard span{display:block;font-size:2rem;margin-bottom:12px}.quickcard b{display:block;font-size:1.05rem}.quickcard small{color:var(--muted)}
.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin:18px 0}
.notice{display:none;background:#fff6cf;border:1px solid #ead98b;border-radius:10px;padding:10px;margin-bottom:12px;font-size:.86rem}.notice.show{display:block}
.devicebox{margin-top:18px;background:#f5f8f6;border:1px solid var(--line);padding:14px;border-radius:12px}.devicebox code{display:block;margin-top:6px;word-break:break-all}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--muted)}
dialog{border:none;border-radius:22px;padding:0;width:min(94vw,680px);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#10251dcc}
dialog form,#conteudoSituacao{padding:22px}.dialogHead{display:flex;justify-content:space-between;align-items:center}.dialogHead h2{margin:0 0 14px}
label{display:block;font-size:.84rem;font-weight:700;margin:13px 0}label input,label textarea{font-weight:400;margin-top:6px}
.coords{display:grid;grid-template-columns:1fr 1fr;gap:12px}.album{background:#f5f8f6;border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}
.evidencias{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px;margin-top:10px}.ev{background:white;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:.74rem;overflow:hidden}
.ev img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px;margin-bottom:5px}.uploadRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.empty{text-align:center;padding:48px;color:var(--muted)}
@media(max-width:650px){.topbar{align-items:start;flex-direction:column}.navtabs{padding:8px 12px}.navtabs .tab{flex:1}main{padding:14px}.hero{border-radius:20px;align-items:stretch;flex-direction:column}.stats{grid-template-columns:1fr 1fr 1fr}.stats article{padding:13px}.stats b{font-size:1.4rem}.stats span{font-size:.72rem}.toolbar button{display:none}.coords{grid-template-columns:1fr}.quickgrid{grid-template-columns:1fr}}

.busy{opacity:.62;pointer-events:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#173028;color:#fff;padding:11px 16px;border-radius:999px;z-index:9999;box-shadow:0 10px 35px #0004;font-size:.9rem}
.syncrow{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pending{outline:2px solid #e1b84b}
.okflash{animation:okflash .7s ease}
@keyframes okflash{0%{box-shadow:0 0 0 0 #9fe0bf}100%{box-shadow:0 0 0 12px transparent}}
@media(max-width:650px){.syncrow{align-items:stretch;flex-direction:column}.syncrow button{width:100%}}

.eyebrow.dark{color:var(--accent)!important}
.territoryHeader{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px}
.territoryHeader h1{margin:.15rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.6rem)}
.territoryActions{display:flex;gap:10px;flex-wrap:wrap}
.territoryLayout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px;align-items:start}
.mapWrap{position:relative;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;min-height:620px}
#map{height:620px;width:100%;background:#dde6e1}
.mapHint{position:absolute;left:14px;bottom:14px;z-index:500;background:#fff;padding:8px 11px;border-radius:10px;border:1px solid var(--line);box-shadow:0 4px 18px #0002;font-size:.8rem}
.territoryCard{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;max-height:620px;overflow-y:auto}
.territoryCardHead{display:flex;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}
.territoryCardHead small{display:block;color:var(--muted);font-weight:800;font-size:.68rem;letter-spacing:.08em}
.territoryCardHead strong{display:block;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem}
.statusDot{font-size:1.5rem;color:var(--accent)}
.territoryEmpty{padding:28px;color:var(--muted);text-align:center}
.territoryFicha{padding:0 16px 16px}.hidden{display:none}
.territoryFicha details{border-bottom:1px solid var(--line);padding:11px 0}
.territoryFicha summary{cursor:pointer;font-weight:800;padding:4px 0}
.factGrid{display:grid;grid-template-columns:1fr;gap:6px;margin-top:9px}
.fact{display:flex;justify-content:space-between;gap:14px;padding:7px 9px;background:#f7f9f8;border-radius:9px;font-size:.8rem}
.fact span:first-child{color:var(--muted)}.fact span:last-child{text-align:right;font-weight:700}
.fact.pending span:last-child{font-weight:500;color:#8b7650}
.recentPoints{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.recentPoint{border:1px solid var(--line);background:#f7f9f8;border-radius:999px;padding:7px 11px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;cursor:pointer}
@media(max-width:900px){
  .territoryLayout{grid-template-columns:1fr}
  .mapWrap,#map{min-height:52vh;height:52vh}
  .territoryCard{max-height:none}
}
@media(max-width:650px){
  .territoryHeader{align-items:stretch;flex-direction:column}
  .territoryActions{display:grid;grid-template-columns:1fr 1fr}
  .territoryActions button{width:100%}
  .mapWrap,#map{min-height:48vh;height:48vh}
}

.layerToggle.active{background:#173028;color:white;border-color:#173028}
.layerToggle:disabled{opacity:.45;cursor:not-allowed}
.layerStatus{font-size:.78rem;color:var(--muted)}
.layerLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 2px}
.layerLine div{display:flex;flex-direction:column;gap:3px}
.layerLine small{color:var(--muted)}
.zonePopup{font-size:.85rem}
.zonePopup b{display:block;margin-bottom:4px}

.missingEditable{align-items:center}
.addInfoBtn{
  width:34px;height:34px;border-radius:50%;padding:0;
  font-size:1.25rem;font-weight:700;line-height:1;
}
.paramFact{align-items:flex-start}
.paramBox{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.paramLine{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(120px,1.2fr);gap:10px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.paramLine span{color:var(--muted);font-size:.78rem}
.paramLine b{font-size:.82rem;font-weight:600;word-break:break-word}
.miniEdit{align-self:flex-end;padding:6px 10px;font-size:.76rem;margin-top:4px}
.zoneDialog{max-width:720px;width:min(94vw,720px)}
.dialogHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.dialogHead h2{margin:.2rem 0 0}
.iconBtn{font-size:1.4rem;line-height:1;padding:7px 11px}
.zoneForm{display:flex;flex-direction:column;gap:13px;margin-top:16px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.zoneForm label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:600}
.zoneForm input,.zoneForm textarea{font:inherit;font-weight:400}
.dialogActions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
@media(max-width:680px){.formgrid{grid-template-columns:1fr}.paramLine{grid-template-columns:1fr}}

.reviewText{font-size:.82rem;font-weight:600}
.legalObs{display:flex;flex-direction:column;gap:3px;margin-top:5px;padding-top:7px;border-top:1px solid rgba(0,0,0,.08)}
.legalObs small{color:var(--muted);font-size:.72rem;line-height:1.25}

#territorioFicha details{border-bottom:1px solid rgba(0,0,0,.10)}
#territorioFicha details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
}
#territorioFicha details summary small{
  margin-left:auto;
  font-size:.72rem;
  font-weight:600;
  color:var(--muted);
  text-align:right;
}
#territorioFicha details[open] summary small{opacity:.65}

.hydroFact{align-items:flex-start}
.hydroResults{display:flex;flex-direction:column;gap:8px;flex:1}
.hydroItem{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid rgba(0,0,0,.08);border-radius:10px}
.hydroItem b{font-size:.84rem}
.hydroItem small{font-size:.73rem;color:var(--muted);line-height:1.25}

.legalAlert{margin-top:5px;padding:6px 8px;border-radius:8px;background:rgba(217,119,6,.08);color:#8a4b08!important}
.legalMini{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:10px;background:rgba(15,118,110,.06)}
.legalMini b{font-size:.78rem}.legalMini small{font-size:.72rem;color:var(--muted);line-height:1.3}

.ucItem{gap:4px}
.ucZone{margin-top:4px;padding:7px 8px;border-left:3px solid rgba(15,118,110,.35);background:rgba(15,118,110,.04);border-radius:6px}
.ucZone small{display:block}

/* FISCAMB 0.9 — refinamento visual da ficha territorial */
.territoryCard{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(15,23,42,.10);
}
.territoryCardHead{
  padding:16px 17px;
  background:linear-gradient(135deg,rgba(15,118,110,.10),rgba(255,255,255,.96));
  border-bottom:1px solid rgba(15,23,42,.08);
}
.territoryCardHead small{letter-spacing:.08em;font-weight:700}
.territoryInsight{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:10px 12px;
  border-bottom:1px solid rgba(15,23,42,.07);
  background:rgba(248,250,252,.75);
}
.insightChip{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.71rem;
  font-weight:700;
  border:1px solid rgba(15,23,42,.08);
  background:white;
}
.insightChip.zone{background:rgba(37,99,235,.07)}
.insightChip.env{background:rgba(22,163,74,.08)}
.insightChip.coast{background:rgba(14,116,144,.08)}
.insightChip.neutral{color:var(--muted);font-weight:600}
#territorioFicha details summary{
  min-height:46px;
  padding:10px 13px;
  transition:background .16s ease;
}
#territorioFicha details summary:hover{background:rgba(15,118,110,.04)}
#territorioFicha details[open] summary{
  background:rgba(15,118,110,.06);
  border-bottom:1px solid rgba(15,23,42,.06);
}
#territorioFicha .factGrid{padding:10px 12px 13px}
.fact{
  border-radius:10px;
  padding:8px 9px;
}
.hydroItem{
  background:rgba(255,255,255,.80);
  box-shadow:0 3px 10px rgba(15,23,42,.035);
}
.coastItem{border-left:3px solid rgba(14,116,144,.38)}
.noteFact{align-items:flex-start}
.noteFact>div{display:flex;flex-direction:column;gap:4px;max-width:68%}
.noteFact small{font-size:.71rem;color:var(--muted);line-height:1.3}
.mapWrap{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(15,23,42,.08);
}


/* =========================================================
   FISCAMB 0.9.1 — revisão de usabilidade e responsividade
   Overrides intencionais sobre estilos das versões anteriores.
   ========================================================= */

:root{
  --surface:#ffffff;
  --surface-soft:#f7faf8;
  --surface-tint:#f1f7f4;
  --shadow-sm:0 4px 14px rgba(15,47,37,.055);
  --shadow-md:0 16px 42px rgba(15,47,37,.095);
  --green-glow:rgba(28,106,82,.10);
}

html{scroll-behavior:smooth}
body{min-width:320px}
main{max-width:1440px;padding:clamp(16px,2vw,28px)}

.topbar{
  padding:14px clamp(16px,3vw,38px);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset;
}
.navtabs{
  padding:8px clamp(12px,2vw,26px);
  overflow-x:auto;
  scrollbar-width:none;
}
.navtabs::-webkit-scrollbar{display:none}
.navtabs .tab{
  flex:0 0 auto;
  min-height:38px;
  padding:8px 14px;
  white-space:nowrap;
}

/* Cabeçalho do território */
.territoryHeader{
  align-items:center;
  margin:2px 0 16px;
  padding:4px 2px 0;
}
.territoryTitle{max-width:760px}
.territoryHeader h1{
  font-size:clamp(1.65rem,2.4vw,2.35rem);
  letter-spacing:-.035em;
}
.territoryHeader .muted{
  max-width:730px;
  line-height:1.48;
}
.territoryActions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  box-shadow:var(--shadow-sm);
}
.territoryActions .locateBtn{
  background:var(--surface);
  border-color:#cfdad4;
}
.territoryActions .locateBtn:hover{background:var(--surface-tint)}

/* Mapa + ficha */
.territoryLayout{
  grid-template-columns:minmax(520px,1.72fr) minmax(360px,.92fr);
  gap:18px;
  align-items:stretch;
}
.mapWrap{
  min-height:640px;
  height:clamp(640px,72vh,820px);
  border:1px solid #d5e0da;
  border-radius:22px;
  box-shadow:var(--shadow-md);
}
#map{
  width:100%;
  height:100%;
  min-height:0;
}
.mapHint{
  display:flex;
  align-items:center;
  gap:9px;
  left:16px;
  bottom:16px;
  max-width:min(340px,calc(100% - 32px));
  padding:9px 12px;
  border-radius:13px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(15,47,37,.14);
}
.mapHint>span{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  flex:none;
  border-radius:9px;
  background:var(--deep);
  color:white;
  font-size:1rem;
}
.mapHint div{display:flex;flex-direction:column;gap:1px}
.mapHint b{font-size:.77rem}
.mapHint small{font-size:.67rem;color:var(--muted);line-height:1.2}

/* CRITICAL FIX: the 0.9 late .territoryCard rule reset overflow to hidden.
   Desktop card must have its own scroll, independent of the map. */
.territoryCard{
  height:clamp(640px,72vh,820px);
  max-height:none;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  border:1px solid #d5e0da;
  border-radius:22px;
  background:var(--surface);
  box-shadow:var(--shadow-md);
  scroll-behavior:smooth;
}
.territoryCard::-webkit-scrollbar{width:9px}
.territoryCard::-webkit-scrollbar-track{background:transparent}
.territoryCard::-webkit-scrollbar-thumb{
  background:#c5d2cc;
  border:3px solid white;
  border-radius:999px;
}
.territoryCard.isLoading{cursor:progress}
.territoryCard.isLoading .territoryCardHead::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  animation:fiscambLoading 1.05s linear infinite;
}
@keyframes fiscambLoading{
  from{transform:translateX(-55%)}
  to{transform:translateX(55%)}
}

.territoryCardHead{
  position:sticky;
  top:0;
  z-index:8;
  padding:15px 17px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(9px);
  box-shadow:0 1px 0 rgba(15,47,37,.08);
}
.territoryCardHead small{
  color:#72817b;
  font-size:.64rem;
}
.territoryCardHead strong{
  margin-top:4px;
  color:#173028;
  font-size:.82rem;
}
.statusDot{font-size:1.25rem}

.territoryInsight{
  position:relative;
  z-index:1;
  padding:10px 14px;
  gap:6px;
  background:linear-gradient(180deg,#f5faf7,#fff);
}
.insightChip{
  min-height:26px;
  padding:4px 9px;
  font-size:.69rem;
  border-color:rgba(23,48,40,.09);
  box-shadow:0 1px 2px rgba(15,47,37,.025);
}
.insightChip.zone{background:#eef4ff;color:#274a80}
.insightChip.env{background:#edf8f0;color:#29633a}
.insightChip.coast{background:#eaf8fb;color:#286273}

.territoryFicha{
  padding:0 10px 14px;
}
#territorioFicha details{
  margin:0;
  padding:0;
  border-bottom:1px solid #e5ece8;
}
#territorioFicha details:last-child{border-bottom:0}
#territorioFicha details summary{
  min-height:51px;
  margin:0;
  padding:11px 10px;
  border-radius:10px;
  font-size:.94rem;
  list-style:none;
}
#territorioFicha details summary::-webkit-details-marker{display:none}
#territorioFicha details summary::before{
  content:'›';
  order:3;
  flex:none;
  color:#8a9992;
  font-size:1.2rem;
  font-weight:500;
  transform:rotate(0deg);
  transition:transform .15s ease;
}
#territorioFicha details[open] summary::before{transform:rotate(90deg)}
#territorioFicha details summary small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:55%;
  font-size:.69rem;
}
#territorioFicha details[open] summary{
  color:var(--deep);
  background:#f2f8f5;
}
#territorioFicha .factGrid{
  margin:0;
  padding:6px 8px 13px;
}

.fact{
  gap:10px;
  padding:9px 10px;
  background:#f8faf9;
  border:1px solid rgba(23,48,40,.045);
  border-radius:11px;
  line-height:1.3;
}
.fact>span:first-child{
  flex:0 0 min(38%,150px);
  font-size:.77rem;
}
.fact>span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
}
.hydroFact{
  display:grid;
  grid-template-columns:minmax(92px,31%) minmax(0,1fr);
}
.hydroFact>span:first-child{padding-top:3px}
.hydroResults{min-width:0;gap:7px}
.hydroItem{
  padding:9px 10px;
  border-color:rgba(23,48,40,.08);
  background:#fff;
  box-shadow:0 2px 8px rgba(15,47,37,.035);
}
.hydroItem b{font-size:.82rem;line-height:1.25}
.hydroItem small{font-size:.71rem;line-height:1.32}
.legalMini{padding:7px 8px}

/* Recentes discretos: não roubar área vertical do mapa */
.recentPanel{
  margin:14px 2px 4px;
  border:1px solid #d9e3de;
  border-radius:15px;
  background:rgba(255,255,255,.72);
}
.recentPanel>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
}
.recentPanel>summary::-webkit-details-marker{display:none}
.recentPanel>summary div{display:flex;flex-direction:column;gap:2px}
.recentPanel>summary b{font-size:.86rem}
.recentPanel>summary small{font-size:.72rem;color:var(--muted)}
.recentPanelBody{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:0 14px 13px;
}
.recentPoints{margin:0}
.recentPoint{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  padding:7px 10px;
  border-radius:11px;
  font-family:inherit;
}
.recentPoint b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.69rem}
.recentPoint small{font-size:.62rem;color:var(--muted)}
.ghostAction{
  flex:none;
  padding:7px 10px;
  font-size:.72rem;
  color:var(--muted);
  background:transparent;
}

/* Tablet: mapa e ficha deixam de disputar largura e a ficha usa fluxo da página */
@media(max-width:1100px){
  main{max-width:1000px}
  .territoryLayout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr)}
  .mapWrap,.territoryCard{height:clamp(590px,68vh,740px)}
}

@media(max-width:860px){
  .territoryHeader{align-items:flex-start}
  .territoryLayout{grid-template-columns:1fr;gap:14px}
  .mapWrap{
    height:clamp(430px,54vh,600px);
    min-height:430px;
  }
  .territoryCard{
    height:auto;
    max-height:none;
    overflow:visible;
  }
  .territoryCardHead{position:relative}
  .recentPanelBody{align-items:stretch;flex-direction:column}
  .ghostAction{align-self:flex-start}
}

/* Celular: controles grandes, mapa compacto e conteúdo legível */
@media(max-width:620px){
  .topbar{padding:12px 14px}
  .topbar small{font-size:.7rem}
  .navtabs{padding:7px 9px}
  .navtabs .tab{min-height:36px;padding:7px 11px;font-size:.78rem}
  main{padding:12px}
  .territoryHeader{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    margin-bottom:12px;
  }
  .territoryHeader h1{font-size:1.65rem}
  .territoryHeader .muted{font-size:.83rem}
  .territoryActions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .territoryActions button{width:100%;min-height:46px}
  .mapWrap{
    height:47vh;
    min-height:360px;
    border-radius:17px;
  }
  .mapHint{
    left:10px;right:10px;bottom:10px;
    max-width:none;
  }
  .mapHint small{display:none}
  .territoryCard{border-radius:17px}
  .territoryCardHead{padding:13px 14px}
  .territoryInsight{padding:9px 11px}
  .territoryFicha{padding:0 7px 10px}
  #territorioFicha details summary{padding:10px 8px;min-height:48px}
  #territorioFicha details summary small{max-width:48%;font-size:.66rem}
  .fact{font-size:.77rem;padding:8px}
  .hydroFact{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .hydroFact>span:first-child{
    padding:1px 1px 3px;
    font-weight:700;
    color:#52635c;
  }
  .noteFact>div{max-width:100%}
  .recentPanel{margin-top:12px}
}

@media(max-width:380px){
  .mapWrap{min-height:330px}
  #territorioFicha details summary small{max-width:42%}
}


/* FISCAMB 0.10 — fluxo operacional + chips espaciais */
.insightChip.near{
  background:#fff8e8;
  color:#8a6116;
  border-style:dashed;
  border-color:#e8c56d;
}
.insightChip.nearby::before{
  content:'↔';
  margin-right:4px;
  opacity:.72;
}
.insightChip.inside::before{
  content:'●';
  margin-right:5px;
  font-size:.55rem;
  opacity:.75;
}

.stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.operationalCard{
  cursor:pointer;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.operationalCard:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(15,47,37,.09);
  border-color:#c5d8cf;
}
.cardTopline,.osHead,.sectionTitleRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cardMeta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.cardMeta span{
  padding:4px 7px;
  border-radius:999px;
  background:#f2f6f4;
  font-size:.68rem;
  color:#5a6c64;
}
.badge.status-concluida{background:#e7f6eb;color:#23643a}
.badge.status-relatorio_pendente{background:#fff3df;color:#87570c}
.badge.status-em_diligencia,.badge.status-vistoriada{background:#eaf4ff;color:#245988}

.formGrid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.checkLine{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:8px 10px;
  border-radius:10px;
  background:#f6faf8;
}
.checkLine input{width:auto!important;margin:0}

.workflowBar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 14px;
  padding:11px 12px;
  border-radius:13px;
  background:linear-gradient(135deg,#f0f7f4,#f9fbfa);
  border:1px solid #dbe7e1;
}
.workflowBar label{
  margin:0;
  flex:1;
}
.workflowBar select{margin-top:4px}
.workflowState{
  flex:none;
  padding:7px 10px;
  border-radius:999px;
  background:white;
  border:1px solid #d4e0da;
  font-size:.72rem;
  font-weight:700;
}
.situationSummary{
  padding:12px;
  border:1px solid #e1e9e5;
  border-radius:13px;
  background:#fff;
}
.situationSummary>p{margin-top:0}
.summaryGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.summaryGrid>div{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 9px;
  border-radius:9px;
  background:#f7faf8;
}
.summaryGrid small{
  font-size:.61rem;
  letter-spacing:.07em;
  color:#7b8983;
  font-weight:700;
}
.summaryGrid b{font-size:.75rem;overflow-wrap:anywhere}
.sectionTitleRow{margin-top:14px}
.sectionTitleRow h3{margin:0}
.smallAction{
  padding:7px 9px;
  min-height:auto;
  font-size:.72rem;
}
.osCard{
  margin-top:8px;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid #dce7e2;
  background:#f9fbfa;
}
.osCard p{font-size:.78rem;margin:.55rem 0 0}
.osCard small{color:var(--muted)}
.emptyInline{
  margin-top:8px;
  padding:11px;
  border:1px dashed #d7e1dc;
  border-radius:11px;
  color:var(--muted);
  font-size:.76rem;
}

@media(max-width:760px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formGrid2,.summaryGrid{grid-template-columns:1fr}
  .workflowBar{align-items:stretch;flex-direction:column}
  .workflowState{align-self:flex-start}
}


/* FISCAMB 0.11 — contrato visual de relação espacial */
.spatialLegend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:0 14px 10px;
  background:linear-gradient(180deg,#fff,#f8fbf9);
  border-bottom:1px solid rgba(23,48,40,.06);
  color:#6a7a73;
  font-size:.65rem;
}
.spatialLegend>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.spatialLegend i{
  width:10px;
  height:10px;
  display:inline-block;
  border-radius:4px;
}
.legendInside i{
  background:#2f7757;
  border:1px solid #2f7757;
}
.legendNear i{
  background:#fff8e8;
  border:1px dashed #c9962a;
}
.spatialState{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  width:max-content;
  margin:2px 0 1px;
  padding:3px 6px;
  border-radius:6px;
  font-size:.59rem;
  font-weight:800;
  letter-spacing:.06em;
}
.spatialInside{
  color:#215c3e;
  background:#e8f5ec;
  border:1px solid #badbc5;
}
.spatialNear{
  color:#80590d;
  background:#fff8e7;
  border:1px dashed #d0a343;
}
.spatialOn{
  color:#365b78;
  background:#edf5fb;
  border:1px solid #bfd6e6;
}
.insightChip.inside{
  border-style:solid;
  border-width:1px;
  box-shadow:0 1px 2px rgba(15,47,37,.04);
}
.insightChip.near{
  border-width:1px;
  border-style:dashed;
  background:#fff9eb;
  color:#7e5911;
}
.insightChip.nearby::before{
  content:'↔ FORA ·';
  margin-right:4px;
  font-size:.57rem;
  letter-spacing:.04em;
  font-weight:800;
}
.insightChip.inside::before{
  content:'●';
  margin-right:5px;
  font-size:.5rem;
}
@media(max-width:620px){
  .spatialLegend{
    gap:8px;
    padding:0 11px 9px;
    font-size:.62rem;
  }
  .insightChip{
    font-size:.66rem;
  }
}


/* FISCAMB 0.12 — cadastro territorial */
.insightChip.place{
  background:#f3f5f6;
  color:#47545a;
  border-color:#d9dfe2;
}
.insightChip.parcel{
  background:#f5f0ff;
  color:#5d4385;
  border-color:#ddd0f1;
}
.insightChip.place::before{
  content:'⌖';
  margin-right:4px;
  font-size:.72rem;
}
.insightChip.parcel::before{
  content:'▦';
  margin-right:4px;
  font-size:.7rem;
}

.addressWarning{
  display:block;
  margin-top:4px;
  padding:6px 8px;
  border-radius:8px;
  background:#fff8e8;
  color:#825d13!important;
  border:1px dashed #d5aa50;
}


/* FISCAMB 0.13 — Street View + contexto hidrológico */
.locationTitleRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.locationTitleRow>b{min-width:0;flex:1}
.streetViewBtn{
  flex:none;
  min-height:28px;
  padding:4px 8px;
  border-radius:8px;
  border:1px solid #d3dfd9;
  background:#fff;
  color:#345b4e;
  font-size:.65rem;
  font-weight:700;
  line-height:1;
  box-shadow:none;
}
.streetViewBtn:hover{
  background:#eef6f2;
  border-color:#b9d0c5;
}
@media(max-width:620px){
  .locationTitleRow{flex-direction:column}
  .streetViewBtn{align-self:flex-start;min-height:32px}
}

.mapActionRow{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  justify-content:flex-end;
}
@media(max-width:620px){
  .mapActionRow{justify-content:flex-start}
}

.addressSubcard{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 10px;
  margin-top:7px;
  padding:8px 9px;
  border-radius:9px;
  background:#f7faf8;
  border:1px solid #e1e9e5;
}
.addressSubcard>div{display:flex;flex-direction:column;gap:1px}
.addressSubcard small{font-size:.65rem;color:var(--muted);line-height:1.25}
.addressSubcard b{font-size:.78rem}
.addressSubcard>span{font-size:.65rem;color:var(--muted);white-space:nowrap}
.addressSubcard>small{grid-column:1/-1}
.mutedSubcard{background:#fafafa}
@media(max-width:620px){
  .addressSubcard{grid-template-columns:1fr}
  .addressSubcard>span{white-space:normal}
}

.insightChip.special{
  background:#fff0f6;
  color:#7b3157;
  border-color:#e9c8d8;
}
.insightChip.special::before{
  content:'◆';
  margin-right:4px;
  font-size:.52rem;
}
.spatialReview{
  color:#6b4b13;
  background:#fff7df;
  border:1px dashed #d5a748;
}
.aeiItem{border-left:3px solid rgba(123,49,87,.28)}

.insightChip.heritage{
  background:#f4f1ff;
  color:#5e4b85;
  border-color:#d8cff1;
}
.insightChip.heritage::before{
  content:'▰';
  margin-right:4px;
  font-size:.56rem;
}
.insightChip.traditional{
  background:#fff4e8;
  color:#80552a;
  border-color:#ead0ae;
}
.insightChip.traditional::before{
  content:'◆';
  margin-right:4px;
  font-size:.52rem;
}
.heritageItem{border-left:3px solid rgba(94,75,133,.30)}
.quilomboItem{border-left:3px solid rgba(128,85,42,.34)}

.insightChip.historic{
  background:#f2f2f2;
  color:#555;
  border-color:#d7d7d7;
}
.insightChip.historic::before{
  content:'◫';
  margin-right:4px;
  font-size:.64rem;
}
.historicItem{border-left:3px solid rgba(85,85,85,.26)}

.insightChip.terrain{
  background:#f4f0e8;
  color:#6c5a3b;
  border-color:#ded2bd;
}
.insightChip.terrain::before{
  content:'⌃';
  margin-right:4px;
  font-size:.7rem;
}
.terrainItem{border-left:3px solid rgba(108,90,59,.28)}

.condoItem{border-left:3px solid rgba(57,94,117,.28)}
.insightChip.cad{
  background:#eef4f7;
  color:#395e75;
  border-color:#c8d9e2;
}
.insightChip.cad::before{
  content:'▦';
  margin-right:4px;
  font-size:.6rem;
}

.landRefItem{border-left:3px solid rgba(99,82,61,.28)}
.insightChip.landref{
  background:#f5f1eb;
  color:#63523d;
  border-color:#ded2c3;
}
.insightChip.landref::before{
  content:'◇';
  margin-right:4px;
  font-size:.62rem;
}

.sewerItem{border-left:3px solid rgba(41,104,128,.30)}
.connectionItem{border-left:3px solid rgba(42,112,70,.34)}
.stationItem{border-left:3px solid rgba(83,86,132,.28)}
.insightChip.sewer{
  background:#edf6f9;
  color:#296880;
  border-color:#c5dde6;
}
.insightChip.sewer::before{content:'≈';margin-right:4px;font-weight:800}
.insightChip.connection{
  background:#eef8f1;
  color:#2a7046;
  border-color:#c8e0d0;
}
.insightChip.connection::before{content:'✓';margin-right:4px;font-weight:800}

.renderWarning{
  border:1px dashed #d7a64a;
  background:#fff9e9;
}
.renderWarning b{color:#70551e}
.territoryCard.isLoading #territorioStatus{animation:fiscambPulse 1.1s ease-in-out infinite}
@keyframes fiscambPulse{0%,100%{opacity:.35}50%{opacity:1}}

.islandItem{border-left:3px solid rgba(54,105,139,.32)}
.physicalRoadItem{border-left:3px solid rgba(123,95,60,.28)}
.boundaryItem{border-left:3px solid rgba(109,73,126,.30)}
.insightChip.island{
  background:#edf5fa;
  color:#36698b;
  border-color:#c8dce8;
}
.insightChip.island::before{content:'◌';margin-right:4px;font-weight:800}
.insightChip.boundary{
  background:#f4eef7;
  color:#6d497e;
  border-color:#dbcde3;
}
.insightChip.boundary::before{content:'│';margin-right:4px;font-weight:800}

.schoolItem{border-left:3px solid rgba(75,111,73,.28)}
.antennaItem{border-left:3px solid rgba(109,81,129,.30)}
.insightChip.antenna{
  background:#f5eff8;
  color:#6d5181;
  border-color:#dccfe5;
}
.insightChip.antenna::before{content:'⌁';margin-right:4px;font-weight:800}

.catalogToolbar select{
  min-width:190px;
  border:1px solid var(--line,#d9dedc);
  border-radius:10px;
  padding:.72rem .8rem;
  background:#fff;
}
.layerCatalog{display:grid;gap:10px;margin:12px 0 28px}
.layerRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 14px;
  padding:14px 16px;
  border:1px solid #dde4e1;
  border-radius:14px;
  background:#fff;
}
.layerRowMain{display:flex;flex-direction:column;gap:3px;min-width:0}
.layerRowMain b{overflow-wrap:anywhere}
.layerRowMain small{color:#6d7772}
.layerRow p{grid-column:1/-1;margin:3px 0 0;color:#59645f;font-size:.87rem}
.layerStatus{
  align-self:start;
  padding:4px 8px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.layerStatus-integrada{background:#eaf6ee;color:#23663e}
.layerStatus-pendente{background:#fff5dc;color:#795d10}
.layerStatus-em_revisao{background:#f3eef8;color:#65477d}
.layerStatus-redundante{background:#eef3f5;color:#46606d}
.layerStatus-vazia{background:#f3f3f3;color:#6d6d6d}
.catalogPolicy p{margin-bottom:0}
@media(max-width:680px){
  .layerRow{grid-template-columns:1fr}
  .layerStatus{justify-self:start}
  .catalogToolbar select{width:100%}
}

.geoWarning{
  color:#8a5d11 !important;
  background:#fff7df;
  border:1px solid #ead29a;
  border-radius:10px;
  padding:10px 12px;
  line-height:1.35;
}

.planItem{border-left:3px solid rgba(126,92,48,.30)}
.layerStatus-integrada_parcial{background:#eef6f0;color:#3c6a48}

.bairroDivergencia{
  border:1px solid #e0b85a;
  background:#fff9e8;
}
.bairroDivergencia .hydroItem{background:#fffdf7}
.warningMini{
  background:#fff2c7 !important;
  border-color:#e4c36d !important;
}
.insightChip.warning{
  background:#fff4d7;
  color:#795716;
  border-color:#e4c66d;
}
.insightChip.warning::before{content:'!';margin-right:5px;font-weight:900}

.officialLocation{border:1px solid #b8d8c5;background:#f7fcf9}
.officialLocation .hydroItem{background:#fff}

.layerStatus-arquivada_substituida{background:#f0f1f2;color:#72787b}

/* FISCAMB 0.26 — Análise Territorial */
.analysisHeader{
  display:flex;justify-content:space-between;gap:20px;align-items:flex-end;
  margin:18px 0 12px;
}
.analysisHeader h1{margin:.15rem 0 .25rem}
.analysisHeader p{max-width:760px;margin:0}
.analysisHeaderActions{display:flex;gap:8px;flex-wrap:wrap}
.analysisPresets{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:10px 12px;margin-bottom:12px;border:1px solid #dfe6e2;border-radius:14px;background:#fff;
}
.analysisPresets>span{font-size:.75rem;font-weight:800;color:#68736e;margin-right:2px;text-transform:uppercase;letter-spacing:.05em}
.analysisPresets button{
  border:1px solid #d7dfdb;background:#f7f9f8;border-radius:999px;padding:7px 11px;font-weight:700;cursor:pointer;
}
.analysisPresets button:hover{background:#eef4f1}
.analysisLayout{
  display:grid;grid-template-columns:315px minmax(0,1fr);gap:12px;align-items:stretch;
  min-height:670px;
}
.analysisSidebar{
  border:1px solid #dae3df;background:#fff;border-radius:15px;overflow:hidden;
  display:flex;flex-direction:column;min-height:0;max-height:760px;
}
.analysisSidebarHead{
  display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #e4e9e7;
}
.analysisSidebarHead>div{display:flex;flex-direction:column;gap:2px}
.analysisSidebarHead small{font-size:.67rem;color:#74807a;letter-spacing:.06em}
.analysisLayerList{overflow:auto;padding:8px;min-height:0}
.analysisGroup{border-bottom:1px solid #edf0ef}
.analysisGroup:last-child{border-bottom:0}
.analysisGroup>summary{
  cursor:pointer;padding:10px 8px;font-weight:800;display:flex;justify-content:space-between;align-items:center;
}
.analysisGroup>summary small{
  font-weight:700;background:#eff3f1;color:#66716c;border-radius:999px;padding:2px 7px;
}
.analysisGroupBody{padding:0 2px 8px}
.analysisLayerRow{padding:8px;border-radius:10px}
.analysisLayerRow:hover{background:#f7f9f8}
.analysisLayerToggle{display:flex;gap:9px;align-items:flex-start;cursor:pointer}
.analysisLayerToggle input{margin-top:3px;accent-color:#215c47}
.analysisLayerToggle span{display:flex;flex-direction:column;min-width:0}
.analysisLayerToggle b{font-size:.87rem}
.analysisLayerToggle small{font-size:.69rem;color:#73807a;line-height:1.25;margin-top:2px}
.analysisLayerTools{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;margin:6px 0 0 25px}
.analysisOpacity{width:100%;accent-color:#386b58}
.analysisLayerCount{text-align:right;font-size:.69rem;font-weight:800;color:#64716b}
.analysisMapColumn{display:flex;flex-direction:column;min-width:0}
.analysisStatusBar{
  display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  padding:8px 12px;background:#172922;color:#eaf3ef;border-radius:13px 13px 0 0;font-size:.78rem;
}
.analysisStatusBar span:last-child{margin-left:auto;color:#b9ccc4}
.analysisMapWrap{position:relative;min-height:625px;flex:1}
#analysisMap{height:100%;min-height:625px;border-radius:0 0 15px 15px;background:#e9efec}
.analysisNotice{
  position:absolute;z-index:500;left:50%;top:12px;transform:translateX(-50%);
  background:rgba(255,250,235,.95);border:1px solid #dbc77c;border-radius:999px;padding:7px 12px;
  font-size:.75rem;font-weight:700;max-width:80%;text-align:center;pointer-events:none;
}
.analysisLegend{
  position:absolute;z-index:500;right:10px;bottom:18px;max-height:190px;max-width:290px;overflow:auto;
  background:rgba(255,255,255,.94);border:1px solid #dce3e0;border-radius:11px;padding:8px 10px;
  display:flex;flex-direction:column;gap:5px;box-shadow:0 3px 12px rgba(0,0,0,.08);
}
.analysisLegend span{font-size:.68rem;display:flex;align-items:center;gap:6px}
.analysisLegend i{width:14px;height:4px;border-radius:3px;background:var(--legend-color)}
.analysisPopup{min-width:190px}
.analysisPopup>strong{display:block;margin-bottom:7px}
.analysisPopupRow{display:grid;grid-template-columns:minmax(75px,.8fr) minmax(90px,1.2fr);gap:7px;padding:3px 0;border-top:1px solid #eee;font-size:.72rem}
.analysisPopupRow span{color:#6d7672;text-transform:capitalize}
.analysisPopupRow b{font-weight:700;overflow-wrap:anywhere}
.analysisError{padding:12px;color:#8e3c32}
.analysisLoading{padding:12px}
.analysisInfo{margin-top:12px}
.hidden{display:none!important}

@media(max-width:950px){
  .analysisLayout{grid-template-columns:270px minmax(0,1fr)}
}
@media(max-width:760px){
  .analysisHeader{align-items:flex-start;flex-direction:column}
  .analysisLayout{grid-template-columns:1fr;min-height:0}
  .analysisSidebar{max-height:330px}
  .analysisMapWrap,#analysisMap{min-height:540px}
  .analysisStatusBar span:last-child{margin-left:0}
}

/* 0.26.1 — legenda temática */
.analysisLegendGroup{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-bottom:7px;
  margin-bottom:3px;
  border-bottom:1px solid #e7ece9;
}
.analysisLegendGroup:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.analysisLegendGroup>b{
  font-size:.68rem;
  color:#33433c;
  margin-bottom:1px;
}
.analysisLegendGroup span{
  padding-left:2px;
}

/* ==========================================================
   FISCAMB 0.26.2 — acabamento do Mapa de Análise
   ========================================================== */
@media (min-width:761px){
  body.analysisMode{
    overflow:hidden;
  }

  body.analysisMode .topbar{
    padding-top:11px;
    padding-bottom:11px;
  }

  body.analysisMode .navtabs{
    padding-top:7px;
    padding-bottom:7px;
  }

  body.analysisMode main{
    max-width:none;
    height:var(--analysis-height, calc(100dvh - 120px));
    padding:10px 14px 12px;
    overflow:hidden;
  }

  body.analysisMode #tab-analise.active{
    height:100%;
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:hidden;
  }

  body.analysisMode .analysisHeader{
    flex:0 0 auto;
    margin:0 0 7px;
    align-items:center;
    min-height:46px;
  }

  body.analysisMode .analysisHeader .eyebrow{
    display:none;
  }

  body.analysisMode .analysisHeader h1{
    font-size:1.28rem;
    margin:0 0 2px;
    letter-spacing:-.015em;
  }

  body.analysisMode .analysisHeader p{
    font-size:.76rem;
    line-height:1.25;
    max-width:780px;
  }

  body.analysisMode .analysisHeaderActions button{
    padding:8px 11px;
    border-radius:10px;
    font-size:.78rem;
  }

  body.analysisMode .analysisPresets{
    flex:0 0 auto;
    padding:6px 8px;
    margin-bottom:7px;
    border-radius:11px;
    min-height:38px;
  }

  body.analysisMode .analysisPresets button{
    padding:5px 9px;
    font-size:.74rem;
  }

  body.analysisMode .analysisLayout{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    grid-template-columns:292px minmax(0,1fr);
    gap:8px;
  }

  body.analysisMode .analysisSidebar{
    height:100%;
    max-height:none;
    min-height:0;
    border-radius:12px;
  }

  body.analysisMode .analysisSidebarHead{
    padding:8px 10px;
    min-height:45px;
  }

  body.analysisMode .analysisLayerList{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    padding:5px;
  }

  body.analysisMode .analysisGroup>summary{
    padding:7px 7px;
    font-size:.82rem;
  }

  body.analysisMode .analysisLayerRow{
    padding:6px 7px;
  }

  body.analysisMode .analysisLayerToggle b{
    font-size:.80rem;
  }

  body.analysisMode .analysisLayerToggle small{
    font-size:.64rem;
  }

  body.analysisMode .analysisMapColumn{
    height:100%;
    min-height:0;
  }

  body.analysisMode .analysisStatusBar{
    flex:0 0 auto;
    padding:6px 10px;
    min-height:33px;
    border-radius:11px 11px 0 0;
    font-size:.72rem;
  }

  body.analysisMode .analysisMapWrap{
    flex:1 1 auto;
    min-height:0;
    height:0;
  }

  body.analysisMode #analysisMap{
    min-height:0;
    height:100%;
    border-radius:0 0 12px 12px;
  }

  body.analysisMode .analysisLegend{
    max-height:min(46%,320px);
    bottom:10px;
    right:10px;
  }

  body.analysisMode .analysisNotice{
    top:9px;
  }

  body.analysisMode .analysisInfo{
    display:none;
  }
}

/* refinamento geral do mapa */
.analysisHeaderActions .locateBtn{
  background:#183e31;
  color:white;
  border-color:#183e31;
  font-weight:750;
}
.analysisHeaderActions .ghost{
  background:#f7f9f8;
  border:1px solid #dce4e0;
  font-size:.82rem;
}
.analysisMapColumn{
  border-radius:13px;
  box-shadow:0 7px 24px rgba(17,45,35,.08);
}
.analysisSidebar{
  box-shadow:0 5px 18px rgba(17,45,35,.045);
}
.analysisLayerRow:has(input:checked){
  background:#f1f7f4;
  box-shadow:inset 3px 0 0 #38735d;
}
.analysisLayerRow:has(input:checked) .analysisLayerToggle b{
  color:#1d5944;
}
.analysisStatusBar b{
  color:#d8f07a;
}
.analysisLegend{
  backdrop-filter:blur(5px);
}
.analysisLegendGroup>b{
  letter-spacing:.01em;
}

/* ==========================================================
   FISCAMB 0.26.3 — checkpoint visual estável
   ========================================================== */

/* O CSS global de inputs usa width:100%; checkboxes não podem herdar isso. */
.analysisLayerToggle input[type="checkbox"]{
  width:16px !important;
  height:16px;
  min-width:16px;
  flex:0 0 16px;
  margin:1px 0 0 !important;
  padding:0;
  accent-color:#1f684f;
  cursor:pointer;
}

/* Neutraliza margens globais de label dentro do painel de camadas. */
.analysisLayerToggle{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  align-items:start;
  column-gap:10px;
  width:100%;
  margin:0 !important;
  padding:0;
  font-size:inherit;
  font-weight:inherit;
}

.analysisLayerLabel{
  display:block;
  min-width:0;
  line-height:1.22;
}

.analysisLayerLabel b{
  display:block;
  font-size:.79rem;
  font-weight:750;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.analysisLayerRow{
  padding:7px 9px;
  margin:1px 0;
  border-radius:9px;
}

.analysisLayerRow + .analysisLayerRow{
  border-top:1px solid rgba(220,229,224,.55);
}

.analysisLayerRow:has(input:checked){
  background:#edf6f1;
  box-shadow:inset 3px 0 0 #2c7258;
}

.analysisLayerTools{
  grid-template-columns:auto minmax(70px,1fr) 32px;
  margin:6px 0 1px 26px;
  gap:7px;
}

.analysisOpacityLabel{
  font-size:.60rem;
  color:#7a8680;
  white-space:nowrap;
}

.analysisOpacity{
  width:100% !important;
  min-width:0;
  margin:0 !important;
  padding:0;
  height:14px;
}

.analysisLayerCount{
  min-width:28px;
  text-align:right;
  font-size:.64rem;
  font-variant-numeric:tabular-nums;
}

.analysisGroup>summary{
  list-style:none;
  user-select:none;
}
.analysisGroup>summary::-webkit-details-marker{display:none}
.analysisGroup>summary::before{
  content:'›';
  display:inline-block;
  width:14px;
  margin-right:3px;
  color:#6f7e77;
  font-size:1rem;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .14s ease;
}
.analysisGroup[open]>summary::before{
  transform:rotate(90deg);
}
.analysisGroup>summary>span{
  flex:1;
  min-width:0;
}

@media (min-width:761px){
  body.analysisMode .analysisLayout{
    grid-template-columns:330px minmax(0,1fr);
  }

  body.analysisMode .analysisSidebarHead{
    padding:9px 11px;
  }

  body.analysisMode .analysisSidebarHead b{
    font-size:.96rem;
  }

  body.analysisMode .analysisSidebarHead small{
    font-size:.61rem;
  }

  body.analysisMode .analysisLayerList{
    padding:4px 5px 8px;
    scrollbar-gutter:stable;
  }

  body.analysisMode .analysisGroup>summary{
    padding:8px 8px;
    font-size:.79rem;
  }

  body.analysisMode .analysisGroup>summary small{
    font-size:.64rem;
    min-width:27px;
    text-align:center;
  }

  body.analysisMode .analysisLayerRow{
    padding:7px 9px;
  }

  body.analysisMode .analysisHeader{
    gap:12px;
  }

  body.analysisMode .analysisHeader>div:first-child{
    min-width:0;
    flex:1 1 auto;
  }

  body.analysisMode .analysisHeaderActions{
    flex:0 0 auto;
    display:flex;
    gap:7px;
    white-space:nowrap;
  }

  body.analysisMode .analysisHeaderActions button{
    max-width:none;
  }

  body.analysisMode .analysisPresets{
    overflow:hidden;
  }
}

/* No desktop estreito, prioriza o mapa e reduz o painel sem quebrar textos. */
@media (min-width:761px) and (max-width:1150px){
  body.analysisMode .analysisLayout{
    grid-template-columns:285px minmax(0,1fr);
  }
  body.analysisMode .analysisHeader p{
    max-width:620px;
  }
}

/* Mobile continua rolável e sem altura forçada. */
@media (max-width:760px){
  .analysisLayerToggle input[type="checkbox"]{
    width:18px !important;
    height:18px;
    min-width:18px;
  }
  .analysisLayerToggle{
    grid-template-columns:18px minmax(0,1fr);
  }
  .analysisLayerLabel b{
    font-size:.84rem;
  }
}

/* ==========================================================
   FISCAMB 0.26.5 — fluidez e clareza
   ========================================================== */
.analysisLayerState{
  margin:4px 0 0 26px;
  min-height:17px;
}
.analysisStateText{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.61rem;
  font-weight:750;
  line-height:1;
  padding:3px 6px;
  border-radius:999px;
  background:#eef2f0;
  color:#65736d;
}
.analysisStateText.status-loading{
  background:#eef5f2;
  color:#2a6751;
}
.analysisStateText.status-loading::before{
  content:'';
  width:7px;
  height:7px;
  border:1.5px solid #8eb5a5;
  border-top-color:#23694f;
  border-radius:50%;
  animation:fiscambSpin .7s linear infinite;
}
.analysisStateText.status-ready{
  background:#e6f2eb;
  color:#256047;
}
.analysisStateText.status-ready::before{
  content:'✓';
  font-size:.64rem;
}
.analysisStateText.status-empty{
  background:#f2f3f2;
  color:#6f7874;
}
.analysisStateText.status-zoom{
  background:#fff4d8;
  color:#7d6121;
}
.analysisStateText.status-error{
  background:#fbe8e5;
  color:#8c3e35;
}
@keyframes fiscambSpin{to{transform:rotate(360deg)}}

.analysisLayerRow.is-loading{
  background:#f6faf8;
}
.analysisLayerRow.is-error{
  box-shadow:inset 3px 0 0 #a94d42;
}
.analysisLayerTools{
  margin-top:5px;
}

/* Grupos: menos ruído visual, mais hierarquia */
.analysisGroup>summary{
  background:#fbfcfb;
}
.analysisGroup[open]>summary{
  background:#f2f6f4;
  color:#204c3b;
}
.analysisGroupBody{
  padding-top:2px;
}
.analysisSidebarHead .smallAction{
  padding:6px 8px;
  font-size:.69rem;
}

/* ==========================================================
   FISCAMB 0.27 — Ferramentas de Análise Territorial
   ========================================================== */
.analysisToolsBar{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,430px) minmax(0,1fr);
  gap:8px;
  align-items:center;
  margin-bottom:7px;
  flex:0 0 auto;
}
.analysisSearchBox{position:relative;display:flex;gap:6px;min-width:0}
.analysisSearchBox input{
  min-width:0;
  padding:8px 10px;
  font-size:.76rem;
  border-radius:10px;
}
.analysisSearchBox>button{
  padding:7px 10px;
  font-size:.72rem;
  border-radius:9px;
}
.analysisSearchResults{
  position:absolute;
  z-index:1100;
  left:0;
  right:0;
  top:calc(100% + 5px);
  max-height:320px;
  overflow:auto;
  background:#fff;
  border:1px solid #d7e1dc;
  border-radius:11px;
  box-shadow:0 12px 30px rgba(14,40,30,.16);
  padding:5px;
}
.analysisSearchResult{
  width:100%;
  border:0;
  background:#fff;
  border-radius:8px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 9px;
}
.analysisSearchResult:hover{background:#f0f6f3}
.analysisSearchResult b{font-size:.76rem}
.analysisSearchResult small{font-size:.65rem;color:#718078}
.analysisSearchMessage{padding:9px;font-size:.72rem;color:#69766f}
.analysisToolButtons{
  display:flex;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:wrap;
}
.analysisToolButtons button{
  padding:7px 9px;
  font-size:.70rem;
  border-radius:9px;
  background:#fff;
}
.analysisToolButtons button.active{
  background:#173f31;
  color:#fff;
  border-color:#173f31;
}
.analysisToolHint{
  position:absolute;
  z-index:650;
  top:11px;
  left:50%;
  transform:translateX(-50%);
  max-width:min(640px,80%);
  padding:7px 11px;
  border-radius:999px;
  background:rgba(20,48,39,.92);
  color:#fff;
  font-size:.70rem;
  font-weight:700;
  pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
.analysisPointPanel{
  position:absolute;
  z-index:700;
  top:10px;
  right:10px;
  width:min(360px,calc(100% - 20px));
  max-height:calc(100% - 20px);
  overflow:auto;
  background:rgba(255,255,255,.97);
  border:1px solid #d8e1dd;
  border-radius:13px;
  box-shadow:0 12px 34px rgba(12,37,28,.18);
  padding:11px;
  backdrop-filter:blur(7px);
}
.analysisPointHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #e7ece9;
  padding-bottom:8px;
  margin-bottom:7px;
}
.analysisPointHead>div{display:flex;flex-direction:column;gap:1px}
.analysisPointHead small{font-size:.57rem;letter-spacing:.08em;color:#75827c}
.analysisPointHead b{font-size:.89rem}
.analysisPointHead>button{
  border:0;background:transparent;padding:0 3px;font-size:1.2rem;line-height:1;
}
.analysisPointCoords{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:.66rem;color:#6b7872;margin-bottom:8px;
}
.analysisPointGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.analysisPointGrid>div{
  border:1px solid #e5ebe8;
  border-radius:9px;
  padding:7px;
  min-width:0;
  background:#fbfcfb;
}
.analysisPointGrid span{display:block;font-size:.57rem;text-transform:uppercase;color:#77847d;margin-bottom:2px}
.analysisPointGrid b{display:block;font-size:.70rem;overflow-wrap:anywhere}
.analysisPointActions{
  display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;
}
.analysisPointActions button{
  flex:1 1 auto;padding:6px 8px;font-size:.67rem;border-radius:8px;
}
.analysisPointCaution{
  display:block;margin-top:8px;color:#78837e;font-size:.60rem;line-height:1.3;
}
.analysisPointLoading{padding:12px 3px;font-size:.72rem;color:#6a7771}
.analysisMeasureLabel{
  background:#183e31!important;
  border:0!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.67rem!important;
  font-weight:750;
  padding:4px 7px!important;
  border-radius:7px!important;
}
.analysisMeasureLabel::before{display:none!important}

@media (min-width:761px){
  body.analysisMode .analysisToolsBar{
    min-height:38px;
  }
}
@media (max-width:1050px){
  .analysisToolsBar{grid-template-columns:1fr}
  .analysisToolButtons{justify-content:flex-start}
}
@media (max-width:760px){
  .analysisToolsBar{grid-template-columns:1fr;margin-top:4px}
  .analysisToolButtons{
    overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;
  }
  .analysisToolButtons button{white-space:nowrap}
  .analysisPointPanel{top:8px;right:8px;width:calc(100% - 16px)}
  .analysisPointGrid{grid-template-columns:1fr 1fr}
}


/* ==========================================================
   FISCAMB 0.27.1 — workspace territorial consolidado
   O mapa é a área principal; controles ficam contidos ao redor/de dentro dele.
   ========================================================== */
@media (min-width:761px){
  body.analysisMode{overflow:hidden}
  body.analysisMode .topbar{padding-top:10px;padding-bottom:10px}
  body.analysisMode .navtabs{padding-top:7px;padding-bottom:7px}
  body.analysisMode main{max-width:none;height:var(--analysis-height,calc(100dvh - 116px));padding:10px 12px 12px;overflow:hidden}
  body.analysisMode #tab-analise.active{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
}

.analysisHeaderV2{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:0 0 8px;padding:0 2px;min-height:48px;
}
.analysisTitleBlock{min-width:0}
.analysisHeaderV2 h1{margin:0;font-size:1.22rem;letter-spacing:-.015em}
.analysisHeaderV2 p{margin:2px 0 0;font-size:.74rem;line-height:1.25;max-width:780px}
.analysisHeaderActions{display:flex;gap:7px;align-items:center;flex:0 0 auto}
.analysisHeaderActions button{padding:8px 11px;border-radius:10px;font-size:.75rem;font-weight:750;white-space:nowrap}
.analysisHeaderActions .locateBtn{background:#183e31;color:#fff;border-color:#183e31}

.analysisWorkspace{
  flex:1 1 auto;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr);gap:8px;
  transition:grid-template-columns .16s ease;
}
.analysisWorkspace.sidebarCollapsed{grid-template-columns:0 minmax(0,1fr)}
.analysisWorkspace.sidebarCollapsed .analysisSidebarV2{opacity:0;pointer-events:none;border-width:0;overflow:hidden}

.analysisSidebarV2{
  min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;
  background:#fff;border:1px solid #d9e2de;border-radius:13px;overflow:hidden;
  box-shadow:0 5px 18px rgba(17,45,35,.05);transition:opacity .12s ease;
}
.analysisSidebarHead{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid #e5ebe8;flex:0 0 auto}
.analysisSidebarHead>div:first-child{display:flex;flex-direction:column;gap:1px;min-width:0}
.analysisSidebarHead small{font-size:.58rem;color:#74817b;letter-spacing:.07em}
.analysisSidebarHead b{font-size:.93rem}
.analysisSidebarHeadActions{display:flex;gap:4px}
.analysisSidebarHeadActions .smallAction{padding:5px 7px;font-size:.61rem;border-radius:8px;background:#f8faf9}
.analysisSidebarHeadActions .dangerLite{color:#6d514a}

.analysisSidebarSearch{padding:8px 8px 5px;flex:0 0 auto}
.analysisSearchBox{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:4px}
.analysisSearchBox input{width:100%!important;min-width:0;margin:0!important;padding:8px 9px;font-size:.72rem;border-radius:9px}
.analysisSearchBox>button{padding:0;border-radius:9px;font-size:1rem;font-weight:800}
.analysisSearchResults{
  position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 4px);max-height:300px;overflow:auto;
  background:#fff;border:1px solid #d7e1dc;border-radius:10px;box-shadow:0 12px 30px rgba(14,40,30,.16);padding:4px;
}
.analysisSearchResult{width:100%;border:0;background:#fff;border-radius:7px;text-align:left;display:flex;flex-direction:column;gap:2px;padding:7px 8px}
.analysisSearchResult:hover{background:#f0f6f3}.analysisSearchResult b{font-size:.72rem}.analysisSearchResult small{font-size:.62rem;color:#718078}
.analysisSearchMessage{padding:8px;font-size:.68rem;color:#69766f}

.analysisPresetBlock{padding:4px 8px 7px;border-bottom:1px solid #edf1ef;flex:0 0 auto}
.analysisPresetBlock>small{display:block;font-size:.55rem;font-weight:800;color:#78847e;letter-spacing:.07em;margin:0 0 4px 2px}
.analysisPresetChips{display:flex;gap:4px;flex-wrap:wrap}
.analysisPresetChips button{padding:4px 7px;border-radius:999px;background:#f6f9f7;font-size:.61rem;font-weight:750}
.analysisPresetChips button:hover{background:#eaf3ef}

.analysisLayerSummary{display:flex;gap:10px;align-items:center;padding:6px 9px;background:#f8faf9;border-bottom:1px solid #e8eeeb;font-size:.61rem;color:#6d7973;flex:0 0 auto}
.analysisLayerSummary b{color:#245c47}
.analysisLayerList{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding:3px 5px 7px}
.analysisGroup{border-bottom:1px solid #edf1ef}
.analysisGroup>summary{list-style:none;display:flex;align-items:center;padding:8px 6px;font-size:.76rem;font-weight:800;cursor:pointer;user-select:none;background:#fff}
.analysisGroup>summary::-webkit-details-marker{display:none}
.analysisGroup>summary::before{content:'›';width:13px;margin-right:3px;color:#6d7a74;font-size:.95rem;transition:transform .12s ease}
.analysisGroup[open]>summary::before{transform:rotate(90deg)}
.analysisGroup[open]>summary{background:#f4f8f6;color:#204c3b}
.analysisGroup>summary>span{flex:1;min-width:0}.analysisGroup>summary small{background:#eef3f0;color:#68756f;border-radius:999px;padding:2px 6px;font-size:.59rem;min-width:24px;text-align:center}
.analysisGroupBody{padding:2px 0 5px}
.analysisLayerRow{padding:7px 8px;margin:1px 0;border-radius:8px}.analysisLayerRow.is-active{background:#eef6f2;box-shadow:inset 3px 0 0 #2f735a}.analysisLayerRow.is-error{box-shadow:inset 3px 0 0 #a94d42}
.analysisLayerToggle{display:grid!important;grid-template-columns:16px minmax(0,1fr);gap:9px;align-items:start;width:100%;margin:0!important;padding:0;font-size:inherit;font-weight:inherit;cursor:pointer}
.analysisLayerToggle input[type="checkbox"]{width:16px!important;height:16px;min-width:16px;margin:1px 0 0!important;padding:0;accent-color:#1f684f}
.analysisLayerLabel{display:block!important;min-width:0;line-height:1.2}.analysisLayerLabel b{display:block;font-size:.75rem;font-weight:750;word-break:normal;overflow-wrap:normal}
.analysisLayerState{margin:4px 0 0 25px;min-height:16px}.analysisStateText{display:inline-flex;align-items:center;gap:4px;font-size:.57rem;font-weight:750;line-height:1;padding:3px 6px;border-radius:999px;background:#eef2f0;color:#65736d}
.analysisStateText.status-loading{background:#eef5f2;color:#2a6751}.analysisStateText.status-loading::before{content:'';width:7px;height:7px;border:1.5px solid #8eb5a5;border-top-color:#23694f;border-radius:50%;animation:fiscambSpin .7s linear infinite}
.analysisStateText.status-ready{background:#e6f2eb;color:#256047}.analysisStateText.status-ready::before{content:'✓'}
.analysisStateText.status-zoom{background:#fff4d8;color:#7d6121}.analysisStateText.status-empty{background:#f2f3f2;color:#6f7874}.analysisStateText.status-error{background:#fbe8e5;color:#8c3e35}
@keyframes fiscambSpin{to{transform:rotate(360deg)}}
.analysisLayerTools{display:grid;grid-template-columns:auto minmax(65px,1fr);gap:6px;align-items:center;margin:5px 0 0 25px}.analysisOpacityLabel{font-size:.56rem;color:#7a8680}.analysisOpacity{width:100%!important;height:13px;margin:0!important;padding:0;accent-color:#386b58}

.analysisMapColumnV2{height:100%;min-width:0;min-height:0;border-radius:13px;overflow:hidden;box-shadow:0 7px 24px rgba(17,45,35,.08)}
.analysisMapWrap{position:relative;width:100%;height:100%;min-height:0;background:#e9efec}
#analysisMap{width:100%;height:100%;min-height:0;background:#e9efec}
.analysisMapFailure{height:100%;display:grid;place-content:center;text-align:center;gap:5px;padding:20px;color:#5b6963}.analysisMapFailure b{font-size:1rem}.analysisMapFailure span{font-size:.72rem;max-width:420px}

.analysisMapStatus{position:absolute;z-index:620;left:52px;top:10px;display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(20,48,39,.92);color:#fff;font-size:.62rem;font-weight:750;box-shadow:0 4px 14px rgba(0,0,0,.12);pointer-events:none}
.analysisStatusDot{width:7px;height:7px;border-radius:50%;background:#b9dc6b}.analysisStatusDot[data-state="loading"],.analysisStatusDot[data-state="cache"]{background:#f1c75b}.analysisStatusDot[data-state="error"]{background:#e58172}
.analysisMapTools{position:absolute;z-index:620;right:10px;top:10px;display:flex;gap:4px;padding:4px;border-radius:11px;background:rgba(255,255,255,.94);border:1px solid #dce4e0;box-shadow:0 4px 15px rgba(12,37,28,.12);backdrop-filter:blur(6px)}
.analysisMapTools button{padding:6px 8px;border:0;border-radius:8px;background:transparent;font-size:.65rem;font-weight:750}.analysisMapTools button:hover{background:#edf4f1}.analysisMapTools button.active{background:#183e31;color:#fff}
.analysisNotice{position:absolute;z-index:615;left:50%;top:52px;transform:translateX(-50%);background:rgba(255,248,225,.96);border:1px solid #dbc77c;border-radius:999px;padding:6px 10px;font-size:.63rem;font-weight:750;max-width:70%;text-align:center;pointer-events:none}

.analysisToolSession{position:absolute;z-index:660;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;min-width:min(520px,calc(100% - 30px));max-width:760px;padding:8px 9px 8px 11px;border-radius:12px;background:rgba(20,48,39,.95);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.analysisToolSessionText{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.analysisToolSessionText small{font-size:.54rem;letter-spacing:.08em;color:#b9cbc4}.analysisToolSessionText b{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysisToolSessionActions{display:flex;gap:4px}.analysisToolSessionActions button{padding:5px 7px;border:0;border-radius:7px;font-size:.61rem}.analysisToolSessionActions .primaryMini{background:#d7f365;color:#173028;font-weight:800}.analysisToolSessionActions button:disabled{opacity:.42;cursor:not-allowed}

.analysisPointPanel{position:absolute;z-index:650;right:10px;top:54px;width:min(350px,calc(100% - 20px));max-height:calc(100% - 70px);overflow:auto;background:rgba(255,255,255,.97);border:1px solid #d8e1dd;border-radius:12px;box-shadow:0 12px 34px rgba(12,37,28,.18);padding:10px;backdrop-filter:blur(7px)}
.analysisPointLoading{display:flex;flex-direction:column;gap:3px;padding:10px 4px}.analysisPointLoading b{font-size:.78rem}.analysisPointLoading span{font-size:.64rem;color:#75817b}
.analysisPointHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid #e7ece9;padding-bottom:7px;margin-bottom:7px}.analysisPointHead>div{display:flex;flex-direction:column;gap:1px}.analysisPointHead small{font-size:.54rem;letter-spacing:.08em;color:#75827c}.analysisPointHead b{font-size:.83rem}.analysisPointHead>button{border:0;background:transparent;padding:0 3px;font-size:1.15rem;line-height:1}
.analysisPointCoords{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.61rem;color:#6b7872;margin-bottom:7px}.analysisPointGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.analysisPointGrid>div{border:1px solid #e5ebe8;border-radius:8px;padding:6px;background:#fbfcfb;min-width:0}.analysisPointGrid span{display:block;font-size:.52rem;text-transform:uppercase;color:#77847d;margin-bottom:2px}.analysisPointGrid b{display:block;font-size:.66rem;overflow-wrap:anywhere}
.analysisPointActions{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.analysisPointActions button{flex:1 1 auto;padding:5px 7px;font-size:.61rem;border-radius:7px}.analysisPointCaution{display:block;margin-top:7px;color:#78837e;font-size:.56rem;line-height:1.3}
.analysisLegend{position:absolute;z-index:610;left:10px;bottom:10px;max-height:42%;max-width:250px;overflow:auto;background:rgba(255,255,255,.93);border:1px solid #dce3e0;border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;gap:4px;box-shadow:0 3px 12px rgba(0,0,0,.08);backdrop-filter:blur(5px)}
.analysisLegendGroup{display:flex;flex-direction:column;gap:3px;padding-bottom:5px;border-bottom:1px solid #e7ece9}.analysisLegendGroup:last-child{border-bottom:0;padding-bottom:0}.analysisLegendGroup>b{font-size:.61rem;color:#33433c}.analysisLegend span{font-size:.58rem;display:flex;align-items:center;gap:5px}.analysisLegend i{width:12px;height:4px;border-radius:3px;background:var(--legend-color)}
.analysisPopup{min-width:180px}.analysisPopup>strong{display:block;margin-bottom:6px}.analysisPopupRow{display:grid;grid-template-columns:minmax(70px,.8fr) minmax(90px,1.2fr);gap:6px;padding:3px 0;border-top:1px solid #eee;font-size:.68rem}.analysisPopupRow span{color:#6d7672;text-transform:capitalize}.analysisPopupRow b{font-weight:700;overflow-wrap:anywhere}
.analysisMeasureLabel{background:#183e31!important;border:0!important;color:#fff!important;box-shadow:none!important;font-size:.62rem!important;font-weight:750;padding:4px 7px!important;border-radius:7px!important}.analysisMeasureLabel::before{display:none!important}
.analysisError{padding:10px;color:#8e3c32;font-size:.7rem}.analysisLoading{padding:10px}.hidden{display:none!important}

@media (min-width:761px) and (max-width:1050px){
  .analysisWorkspace{grid-template-columns:280px minmax(0,1fr)}
  .analysisMapTools button span{display:none}
  .analysisMapTools button{font-size:.8rem;min-width:31px}
}
@media (max-width:760px){
  body.analysisMode{overflow:auto}
  body.analysisMode main{height:auto;padding:10px}
  body.analysisMode #tab-analise.active{display:block;height:auto;overflow:visible}
  .analysisHeaderV2{align-items:flex-start;flex-direction:column;margin-bottom:7px}.analysisHeaderActions{width:100%}.analysisHeaderActions button{flex:1}
  .analysisWorkspace{display:flex;flex-direction:column;min-height:0}.analysisWorkspace.sidebarCollapsed{display:flex}.analysisWorkspace.sidebarCollapsed .analysisSidebarV2{display:none}
  .analysisSidebarV2{height:auto;max-height:360px}.analysisLayerList{max-height:235px}.analysisMapColumnV2{height:62vh;min-height:520px}
  .analysisMapTools{right:7px;top:7px}.analysisMapTools button span{display:none}.analysisMapTools button{font-size:.85rem;min-width:32px}
  .analysisMapStatus{left:48px;top:7px}.analysisPointPanel{top:50px;right:7px;width:calc(100% - 14px)}.analysisPointGrid{grid-template-columns:1fr 1fr}
  .analysisLegend{left:7px;bottom:7px;max-width:210px}.analysisToolSession{bottom:8px;min-width:calc(100% - 16px);gap:7px}.analysisToolSessionActions button{padding:5px 6px}
}

/* 0.27.2 · identidade operacional e governança discreta */
body.authPending>.topbar,body.authPending>.navtabs,body.authPending>main{visibility:hidden}
body.authenticated .loginScreen{display:none}
.loginScreen{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:radial-gradient(circle at 15% 20%,rgba(91,144,115,.18),transparent 32%),linear-gradient(145deg,#0d2c22,#163f31 56%,#0e3025);padding:20px}
.loginCard{width:min(440px,100%);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 26px 80px rgba(0,0,0,.30)}
.loginBrand{padding:22px 24px;background:#11382b;color:#fff;display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.loginBrand strong{font-size:1.45rem;letter-spacing:.10em}.loginBrand span{font-size:.68rem;opacity:.72;text-align:right}
.loginBody{padding:24px}.loginBody h1{margin:.1rem 0 .35rem}.loginBody>p{margin:.2rem 0 1rem;line-height:1.35}
.loginBody select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff;color:var(--ink)}
.loginPrimary{width:100%;margin-top:8px}.loginFirstAccess{font-size:.73rem;line-height:1.35;padding:9px 10px;background:#eef7f2;border:1px solid #cfe2d8;border-radius:10px;color:#315d4a;margin:4px 0 9px}
.loginMessage{min-height:22px;margin-top:8px;color:#9a4036;font-size:.75rem}.loginFoot{display:block;margin-top:10px;color:#87928d;font-size:.61rem;line-height:1.35}
.topbarRight{position:relative;display:flex;align-items:center;gap:14px}
.userMenuButton{display:flex;align-items:center;gap:8px;padding:6px 8px;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px}
.userAvatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#d7f365;color:#173028;font-weight:900;font-size:.75rem}
.userIdentity{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.userIdentity b{font-size:.73rem}.userIdentity small{font-size:.56rem;opacity:.68;margin:2px 0 0}
.userMenu{position:absolute;right:0;top:calc(100% + 8px);z-index:1000;min-width:210px;background:#fff;border:1px solid #dce5e0;border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.17);padding:5px}
.userMenu button{width:100%;text-align:left;border:0;background:#fff;padding:9px 10px;border-radius:8px;font-size:.75rem}.userMenu button:hover{background:#f0f5f2}
.teamPicker{border:1px solid var(--line);border-radius:12px;padding:10px 11px;margin:12px 0}.teamPicker legend{padding:0 6px;font-size:.76rem;font-weight:800}.teamPicker>p{font-size:.68rem;margin:0 0 8px}
.teamFiscalList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.teamChoice{margin:0!important;padding:7px 8px;border:1px solid #e1e7e4;border-radius:9px;display:grid!important;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:start;background:#fafcfb}
.teamChoice input{width:16px!important;height:16px;margin:1px 0!important;padding:0}.teamChoice span{display:flex;flex-direction:column}.teamChoice b{font-size:.72rem}.teamChoice small{font-size:.60rem;color:#7a8580;margin-top:2px}
.teamMini{display:flex;gap:4px;flex-wrap:wrap;margin:7px 0}.teamMini span{padding:3px 6px;border-radius:999px;background:#eef4f1;color:#456258;font-size:.61rem;font-weight:700}
.systemDialog{border:0;border-radius:18px;padding:0;width:min(92vw,900px);max-height:86vh;box-shadow:0 24px 80px #0005}.systemDialog::backdrop{background:#10251dcc}
.systemDialogHead{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f7faf8;border-bottom:1px solid #e1e8e4}.systemDialogHead small{font-size:.58rem;letter-spacing:.10em;color:#748079}.systemDialogHead h2{margin:2px 0 0;font-size:1.05rem}
.catalogCompactStats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 14px 0}.catalogCompactStats span{border:1px solid #e2e8e5;border-radius:9px;padding:7px 8px;font-size:.62rem;color:#728078;background:#fbfcfb}.catalogCompactStats b{display:block;font-size:1rem;color:#173028;margin-bottom:1px}
.catalogCompactTools{display:grid;grid-template-columns:1fr 190px;gap:7px;padding:9px 14px}.catalogCompactTools input,.catalogCompactTools select{padding:8px 9px;font-size:.72rem}.catalogRule{margin:0 14px 7px;padding:7px 9px;border-radius:8px;background:#f4f7f5;color:#68746e;font-size:.64rem;line-height:1.3}
.layerCatalog.compact{display:block;margin:0;padding:0 14px 14px;max-height:55vh;overflow:auto}.layerRowCompact{border-bottom:1px solid #e7ece9}.layerRowCompact summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 3px;cursor:pointer;list-style:none}.layerRowCompact summary::-webkit-details-marker{display:none}.layerRowCompact summary>div{display:flex;flex-direction:column;min-width:0}.layerRowCompact summary b{font-size:.73rem;overflow-wrap:anywhere}.layerRowCompact summary small{font-size:.59rem;color:#7b8781;margin-top:1px}.layerRowCompact .layerStatus{font-size:.57rem;padding:3px 6px}.layerRowCompact p{margin:0 4px 8px;font-size:.66rem;color:#647069;line-height:1.35}.catalogEmpty{padding:18px 4px;font-size:.72rem}
.auditIntro{padding:0 16px;margin:10px 0 4px;font-size:.70rem}.auditList{padding:6px 14px 16px;max-height:65vh;overflow:auto}.auditEvent{padding:8px 2px;border-bottom:1px solid #e6ece8}.auditEvent>div{display:flex;justify-content:space-between;gap:10px}.auditEvent b{font-size:.72rem}.auditEvent span{font-size:.65rem;color:#3e6454;font-weight:700}.auditEvent small{display:block;margin-top:3px;color:#76817b;font-size:.61rem;line-height:1.35}
@media(max-width:680px){.topbarRight>small{display:none}.userIdentity{display:none}.teamFiscalList{grid-template-columns:1fr}.catalogCompactStats{grid-template-columns:repeat(2,1fr)}.catalogCompactTools{grid-template-columns:1fr}}

/* 0.27.3 · seleção institucional do fiscal */
.loginFiscalRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  gap:8px;
  align-items:stretch;
  margin-top:6px;
}
.loginFiscalRow select{
  margin-top:0!important;
  min-width:0;
}
.loginMatriculaBox{
  border:1px solid var(--line);
  border-radius:11px;
  background:#f7faf8;
  padding:7px 10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.05;
}
.loginMatriculaBox small{
  font-size:.58rem;
  color:#748079;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.loginMatriculaBox b{
  margin-top:4px;
  font-size:.82rem;
  color:#183d30;
  font-variant-numeric:tabular-nums;
}
@media(max-width:500px){
  .loginFiscalRow{grid-template-columns:1fr}
  .loginMatriculaBox{flex-direction:row;justify-content:flex-start;gap:8px;align-items:center}
  .loginMatriculaBox b{margin:0}
}

/* FISCAMB 0.27.6 — recuperação estável + navegação espacial */
.ghostLite{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:700;
}
.mapTargetAction{
  align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  margin-top:7px;padding:6px 9px;border-radius:9px;border:1px solid #d7e2dc;
  background:#f7faf8;color:#1c6049;font-size:.66rem;font-weight:800;line-height:1;
}
.mapTargetAction:hover{background:#edf6f1;border-color:#bfcfc7}
.mapTargetAction span{font-size:.78rem}
.territoryReturnPoint{
  position:absolute;z-index:650;top:14px;right:14px;padding:8px 11px;
  border-radius:999px;border:1px solid rgba(23,48,40,.16);background:rgba(255,255,255,.96);
  color:#173028;font-size:.70rem;font-weight:800;box-shadow:0 4px 18px rgba(0,0,0,.12);
  backdrop-filter:blur(5px);
}
.territoryReturnPoint:hover{background:#fff}


/* ==========================================================
   FISCAMB 0.27.7 — refinamento territorial sem downgrade
   ========================================================== */
@media (min-width:980px){
  body.territoryMode{
    overflow:hidden;
  }
  body.territoryMode main{
    height:var(--territory-main-height,calc(100vh - 130px));
    max-height:var(--territory-main-height,calc(100vh - 130px));
    padding-top:12px;
    padding-bottom:12px;
    overflow:hidden;
  }
  body.territoryMode #tab-territorio.active{
    height:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:10px;
    overflow:hidden;
  }
  body.territoryMode .territoryHeader{
    flex:0 0 auto;
    margin-bottom:0;
    padding:11px 15px;
  }
  body.territoryMode .territoryHeader .eyebrow{
    margin:0 0 2px;
    font-size:.66rem!important;
  }
  body.territoryMode .territoryHeader h1{
    margin:0 0 3px;
    font-size:1.72rem;
  }
  body.territoryMode .territoryHeader .muted{
    margin:0;
    font-size:.78rem;
    line-height:1.3;
  }
  body.territoryMode .territoryActions button{
    min-height:40px;
    padding:8px 11px;
    font-size:.76rem;
  }
  body.territoryMode .territoryLayout{
    flex:1 1 auto;
    height:auto;
    min-height:0;
    align-items:stretch;
    gap:14px;
  }
  body.territoryMode .mapWrap,
  body.territoryMode .territoryCard{
    height:100%;
    min-height:0;
    max-height:none;
  }
  body.territoryMode #map{
    height:100%;
    min-height:0;
  }
  body.territoryMode .recentPanel{
    flex:0 0 auto;
    margin:0;
  }
  body.territoryMode .recentPanel>summary{
    padding:8px 12px;
  }
  body.territoryMode .recentPanelBody{
    max-height:120px;
    overflow:auto;
    padding:0 12px 10px;
  }
}

/* A ficha continua tendo rolagem própria: a página não rola, mas o conteúdo
   territorial extenso permanece integralmente acessível. */
@media (min-width:980px){
  body.territoryMode .territoryCard{
    overflow-y:auto;
    scrollbar-gutter:auto;
  }
  body.territoryMode .territoryCard::-webkit-scrollbar{width:6px}
  body.territoryMode .territoryCard::-webkit-scrollbar-thumb{
    border-width:1px;
    background:#cbd7d1;
  }
}


/* ==========================================================
   FISCAMB 0.27.8 — lapidação incremental Território + Análise
   ========================================================== */

/* A ficha continua rolável por mouse, trackpad e toque, mas sem a barra
   pesada que competia visualmente com o conteúdo técnico. */
@media (min-width:980px){
  body.territoryMode .territoryCard{
    overflow-y:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  body.territoryMode .territoryCard::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none;
  }
}

/* Ações administrativas da lateral da Análise ficam discretas. */
.analysisSidebarHeadActions.compactActions{
  display:flex;
  gap:3px;
}
.analysisSidebarHeadActions .iconOnly{
  width:28px;
  height:28px;
  min-width:28px;
  padding:0!important;
  display:grid;
  place-items:center;
  border-radius:8px;
  font-size:.82rem!important;
  color:#68766f;
  background:#f7faf8;
}
.analysisSidebarHeadActions .iconOnly:hover{
  background:#eef4f1;
  color:#1f5844;
}
.analysisSidebarHeadActions .iconOnly.dangerLite:hover{
  background:#f8eeee;
  color:#8a433a;
}

/* Preset UCs segue a mesma linguagem dos demais atalhos. */
.analysisPresetChips button{
  transition:background .12s ease,border-color .12s ease,transform .12s ease;
}
.analysisPresetChips button:hover{
  transform:translateY(-1px);
}

/* Botão Street View existe apenas quando a disponibilidade foi confirmada. */
#territorioStreetView{
  border-color:#d8e2dc;
}

/* A barra externa não deve reaparecer no modo Território desktop. */
@media (min-width:980px){
  html:has(body.territoryMode){
    overflow:hidden;
  }
}


/* ==========================================================
   FISCAMB 0.27.9 — Campo Operacional v1
   ========================================================== */
.fieldHero{
  background:linear-gradient(140deg,#123a2d,#1c5c46);
  color:#fff;
  border-radius:24px;
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
}
.fieldHero h1{margin:.1rem 0 .3rem;font-size:clamp(1.65rem,3vw,2.45rem)}
.fieldHero p{margin:0;color:#d8e8e1;max-width:690px}
.fieldIdentity{
  min-width:190px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  border-radius:13px;
  display:flex;flex-direction:column;
}
.fieldIdentity small{font-size:.58rem;letter-spacing:.08em;opacity:.68}
.fieldIdentity b{margin-top:3px;font-size:.78rem}
.fieldIdentity span{margin-top:2px;font-size:.64rem;opacity:.72}
.fieldPrimaryActions{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:10px;
  margin:14px 0;
}
.fieldPrimaryActions button{
  min-height:84px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  text-align:left;
  padding:13px;
  border-radius:16px;
}
.fieldPrimaryActions button>span{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  font-size:1.15rem;
  background:#eef4f1;
}
.fieldPrimaryActions button>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.fieldPrimaryActions button b{font-size:.82rem}
.fieldPrimaryActions button small{font-size:.64rem;color:#738078;line-height:1.25}
.fieldActionPrimary{
  background:#d7f365!important;
  border-color:#c9e556!important;
}
.fieldActionPrimary>span{background:#173028!important;color:white}
.fieldWorkspace{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);
  gap:12px;
}
.fieldSide{display:flex;flex-direction:column;gap:12px}
.fieldPanel{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;
}
.fieldPanelHead{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:10px;
}
.fieldPanelHead small{font-size:.58rem;color:#78847e;letter-spacing:.08em}
.fieldPanelHead h3{margin:2px 0 0;font-size:1rem}
.fieldSituations{display:flex;flex-direction:column;gap:6px}
.fieldSituation{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  text-align:left;gap:12px;padding:10px 11px;border-radius:12px;
  background:#fbfcfb;border:1px solid #e4ebe7;
}
.fieldSituation:hover{background:#f1f6f3}
.fieldSituationMain{display:flex;flex-direction:column;min-width:0}
.fieldSituationMain small{font-size:.58rem;color:#5b766a;font-weight:800}
.fieldSituationMain b{font-size:.77rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fieldSituationMain span{font-size:.64rem;color:#77827d;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fieldSituationSide{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.fieldSituationSide small{font-size:.59rem;color:#718079}
.fieldSituationSide>span{font-size:1rem;color:#557066}
.fieldEmpty{
  padding:22px 12px;border:1px dashed #d9e3de;border-radius:12px;
  display:flex;flex-direction:column;gap:3px;text-align:center;
}
.fieldEmpty b{font-size:.78rem}.fieldEmpty span{font-size:.65rem;color:#78847e}
.fieldLocation{
  padding:10px 11px;background:#f6f9f7;border-radius:10px;
  font-size:.70rem;line-height:1.35;word-break:break-word;
}
.fieldLinkAction{
  width:100%;margin-top:9px;padding:8px 10px;border-radius:9px;
  font-size:.69rem;font-weight:750;background:#f7faf8;
}
.teamRecentBtn{
  border:0!important;background:transparent!important;
  padding:0!important;margin-left:5px;
  color:#1f6b51!important;font-size:.68rem!important;font-weight:800!important;
  text-decoration:underline;text-underline-offset:2px;
}
@media(max-width:1000px){
  .fieldPrimaryActions{grid-template-columns:1fr 1fr}
  .fieldWorkspace{grid-template-columns:1fr}
  .fieldSide{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .fieldHero{align-items:flex-start;flex-direction:column;padding:18px}
  .fieldIdentity{width:100%;min-width:0}
  .fieldPrimaryActions{grid-template-columns:1fr;margin:10px 0}
  .fieldPrimaryActions button{min-height:70px}
  .fieldSide{grid-template-columns:1fr}
  .fieldPanel{border-radius:15px}
}


/* ==========================================================
   FISCAMB 0.27.10 — PATCH CORRETIVO GERAL
   Checkpoint de layout e navegação
   ========================================================== */

/* Locks are explicit on html + body; no :has dependency. */
@media (min-width:980px){
  html.territoryLock,
  html.analysisLock{
    height:100%;
    overflow:hidden!important;
  }
  html.territoryLock body,
  html.analysisLock body{
    height:100%;
    overflow:hidden!important;
  }

  body.territoryMode main{
    height:var(--territory-main-height,calc(100dvh - 118px))!important;
    max-height:var(--territory-main-height,calc(100dvh - 118px))!important;
    min-height:0!important;
    overflow:hidden!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  body.territoryMode #tab-territorio.active{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:9px;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  body.territoryMode .territoryHeader{
    min-height:0;
    margin:0!important;
    padding:9px 13px!important;
  }

  body.territoryMode .territoryLayout{
    height:100%!important;
    min-height:0!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }

  body.territoryMode .mapWrap,
  body.territoryMode .territoryCard{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }

  body.territoryMode #map{
    height:100%!important;
    min-height:0!important;
  }

  body.territoryMode .territoryCard{
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:none!important;
  }
  body.territoryMode .territoryCard::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }

  body.territoryMode .recentPanel{
    min-height:0;
    margin:0!important;
  }
  body.territoryMode .recentPanel:not([open]){
    max-height:42px;
  }
  body.territoryMode .recentPanel[open]{
    max-height:132px;
    overflow:hidden;
  }
  body.territoryMode .recentPanelBody{
    max-height:88px!important;
    overflow:auto!important;
  }

  /* Analysis receives the same explicit lock philosophy. */
  body.analysisMode main{
    min-height:0!important;
    overflow:hidden!important;
  }
  body.analysisMode #tab-analise.active{
    min-height:0!important;
    overflow:hidden!important;
  }
}

/* Consistent compact desktop chrome without squeezing content. */
@media (min-width:980px){
  body.territoryMode .territoryTitle .eyebrow{display:none}
  body.territoryMode .territoryHeader h1{
    font-size:1.55rem!important;
    margin:0 0 2px!important;
  }
  body.territoryMode .territoryHeader .muted{
    font-size:.74rem!important;
    line-height:1.22!important;
  }
  body.territoryMode .territoryActions{
    gap:6px!important;
  }
  body.territoryMode .territoryActions button{
    min-height:36px!important;
    padding:7px 10px!important;
    font-size:.72rem!important;
    border-radius:10px!important;
  }
}

/* Internal panel scroll is intentionally invisible, but content remains accessible. */
.territoryCard{
  scroll-behavior:smooth;
}

/* UI resilience: map controls always stay above technical overlays. */
.mapWrap .leaflet-control-container{
  position:relative;
  z-index:700;
}


/* ==========================================================
   FISCAMB 0.27.11 — corretivo de usabilidade
   ========================================================== */

/* TERRITÓRIO: mapa e ficha são o conteúdo principal.
   Recentes é somente um drawer compacto, fechado por padrão. */
@media (min-width:980px){
  body.territoryMode #tab-territorio.active{
    grid-template-rows:auto minmax(0,1fr) 38px!important;
  }
  body.territoryMode .territoryLayout{
    min-height:0!important;
    height:100%!important;
  }
  body.territoryMode .mapWrap,
  body.territoryMode .territoryCard{
    min-height:0!important;
    height:100%!important;
  }
  body.territoryMode .recentPanel{
    height:38px;
    max-height:38px!important;
    overflow:hidden;
    border-radius:11px;
    background:rgba(255,255,255,.92);
  }
  body.territoryMode .recentPanel[open]{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    height:auto;
    max-height:170px!important;
    box-shadow:0 -12px 32px rgba(20,45,35,.14);
  }
  body.territoryMode #tab-territorio.active{
    position:relative;
  }
  body.territoryMode .recentPanel>summary{
    min-height:36px;
    height:36px;
    padding:6px 11px!important;
  }
  body.territoryMode .recentPanel>summary small{
    display:none;
  }
  body.territoryMode .recentPanelHint{
    color:#718079;
    font-size:.66rem;
    font-weight:750;
  }
  body.territoryMode .recentPanel[open] .recentPanelHint::after{
    content:' · fechar';
  }
  body.territoryMode .recentPanelBody{
    display:flex;
    align-items:center;
    min-height:58px;
    max-height:120px!important;
    padding:8px 11px 11px!important;
    overflow:auto!important;
  }
  body.territoryMode .recentPoints{
    flex:1 1 auto;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
  }
  body.territoryMode .recentPoint{
    flex:0 0 auto;
  }
}

/* CAMPO: ações compactas e previsíveis. Evita cards gigantes e quebra
   palavra por palavra em qualquer escala/zoom do navegador. */
.fieldPrimaryActions{
  align-items:stretch!important;
}
.fieldPrimaryActions button{
  width:100%!important;
  height:auto!important;
  min-height:76px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  padding:12px 14px!important;
  white-space:normal!important;
  overflow:hidden!important;
}
.fieldPrimaryActions .fieldActionIcon{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#eef4f1;
  font-size:1.05rem!important;
}
.fieldPrimaryActions .fieldActionText{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  line-height:1.15!important;
}
.fieldPrimaryActions .fieldActionText b,
.fieldPrimaryActions .fieldActionText small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.fieldPrimaryActions .fieldActionText b{
  font-size:.82rem!important;
}
.fieldPrimaryActions .fieldActionText small{
  font-size:.66rem!important;
  color:#738078!important;
}
.fieldActionPrimary .fieldActionIcon{
  background:#173028!important;
  color:white!important;
}

@media (min-width:1001px){
  .fieldHero{
    padding:18px 22px!important;
    min-height:132px;
  }
  .fieldHero h1{font-size:2rem!important}
  .fieldPrimaryActions{
    grid-template-columns:1.25fr 1fr 1fr 1fr!important;
    margin:10px 0 12px!important;
  }
  .fieldPrimaryActions button{
    min-height:76px!important;
  }
  .fieldWorkspace{
    align-items:start;
  }
}

/* Último nível do mapa usa overzoom; evita placeholder de tile vazio. */
.leaflet-tile-container img{
  image-rendering:auto;
}


/* ==========================================================
   FISCAMB 0.27.12 — ponto primeiro, proximidades sob demanda
   ========================================================== */

.territoryScope{
  display:flex;
  gap:5px;
  padding:8px 12px 6px;
  border-bottom:1px solid #e4ebe7;
  background:#fbfdfc;
  position:sticky;
  top:69px;
  z-index:3;
}
.territoryScope button{
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid #d8e3dd;
  background:#fff;
  color:#64736c;
  font-size:.67rem;
  font-weight:800;
}
.territoryScope button.active{
  color:#fff;
  background:#173f31;
  border-color:#173f31;
}
.territoryScope button span{
  opacity:.72;
  font-weight:700;
}
.scopeNearbyHidden,
#territorioFicha details.scopeEmpty{
  display:none!important;
}

/* No modo "No ponto", a ficha vira uma lista curta de coisas efetivamente
   incidentes. Proximidades retornam somente quando solicitadas. */
#territorioFicha details{
  scroll-margin-top:108px;
}

/* Símbolos cartográficos para camadas pontuais da Análise. */
.analysisSymbolIcon{
  background:transparent!important;
  border:0!important;
}
.analysisSymbolIcon span{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:rgba(255,255,255,.92);
  border:2px solid var(--symbol-color);
  color:var(--symbol-color);
  opacity:var(--symbol-opacity);
  font-size:13px;
  line-height:1;
  font-weight:900;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}

/* O cabeçalho de camadas fica realmente discreto. */
.analysisSidebarHeadActions.compactActions{
  min-width:28px;
  justify-content:flex-end;
}

/* O mapa fica deliberadamente limitado ao último zoom estável.
   Melhor um nível a menos com mapa utilizável do que um zoom vazio. */
.leaflet-control-zoom-in.leaflet-disabled{
  opacity:.45;
}


/* ==========================================================
   FISCAMB 0.27.13 — refinamento da ficha territorial
   ========================================================== */
.territoryLocationHero{
  padding:8px 11px 7px;border-bottom:1px solid #e3ebe7;background:#fff;
}
.territoryLocationMain{
  width:100%;display:flex;align-items:center;gap:9px;padding:7px 8px;
  border:1px solid #dfe8e3;border-radius:10px;background:#f8fbf9;text-align:left;
}
.territoryLocationMain:hover{background:#f0f6f3;border-color:#cbdcd3}
.territoryLocationIcon{
  flex:0 0 29px;width:29px;height:29px;display:grid;place-items:center;
  border-radius:8px;background:#173f31;color:#fff;font-size:.86rem;
}
.territoryLocationMain>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}
.territoryLocationMain b{
  font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.territoryLocationMain small{
  font-size:.60rem;line-height:1.24;color:#6d7c75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.insightChipAction{appearance:none;cursor:pointer;font:inherit}
.insightChipAction:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(20,55,42,.08)}

#territorioFicha .factGrid{gap:4px!important;padding:4px 7px 10px!important}
#territorioFicha .fact{padding:6px 8px!important;border-radius:9px!important;line-height:1.22!important}
#territorioFicha .hydroItem{padding:7px 8px!important;gap:2px!important;border-radius:9px!important;box-shadow:none!important}
#territorioFicha .hydroItem b{font-size:.78rem!important}
#territorioFicha .hydroItem small{font-size:.66rem!important;line-height:1.28!important}
#territorioFicha .legalMini{padding:5px 7px!important}
#territorioFicha details summary{min-height:43px!important;padding:8px!important;font-size:.85rem!important}
#territorioFicha details summary small{font-size:.63rem!important}
#territorioFicha .spatialState{font-size:.60rem!important;padding:3px 6px!important}
#territorioFicha .territoryLocationSection{display:block!important}
.mapHint{display:none!important}

@media(min-width:1001px){
  .fieldPrimaryActions{grid-template-columns:1.25fr 1fr 1fr 1fr!important;gap:8px!important}
  .fieldPrimaryActions button{min-height:64px!important;padding:9px 11px!important;border-radius:13px!important}
  .fieldPrimaryActions .fieldActionIcon{flex-basis:32px!important;width:32px!important;height:32px!important}
  .fieldHero{min-height:108px!important;padding:14px 19px!important}
  .fieldHero h1{font-size:1.75rem!important}
}


/* ==========================================================
   FISCAMB 0.27.14 — patch Campo + Situação 2.0 inicial
   ========================================================== */

/* Correção do oval escuro no botão "Nova situação no local".
   A regra antiga atingia TODOS os spans filhos do botão, inclusive o texto. */
.fieldPrimaryActions button > span{
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  display:block!important;
}
.fieldPrimaryActions button > .fieldActionIcon{
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#eef4f1!important;
}
.fieldPrimaryActions .fieldActionPrimary > .fieldActionIcon{
  background:#173028!important;
  color:#fff!important;
}
.fieldPrimaryActions button > .fieldActionText{
  flex:1 1 auto!important;
  min-width:0!important;
  background:transparent!important;
  border-radius:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
}

/* ---------- Situação 2.0 ---------- */
#dlgSituacao{
  width:min(1040px,96vw);
  max-width:1040px;
  max-height:92vh;
  padding:0;
  border:0;
  border-radius:20px;
  overflow:auto;
}
#conteudoSituacao{
  padding:18px;
  background:#f5f8f6;
}
.situation2Head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:4px 2px 12px;
}
.situation2Identity h2{
  margin:3px 0 6px;
  font-size:1.4rem;
}
.situation2Meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.situation2Meta>span:not(.badge){
  padding:4px 7px;
  border-radius:999px;
  background:#eaf0ed;
  color:#607067;
  font-size:.66rem;
}
.situationClose{
  width:36px;height:36px;padding:0;
  border-radius:10px;
}

/* progression */
.situationProgress{
  display:flex;
  gap:4px;
  overflow-x:auto;
  padding:9px 0 12px;
  scrollbar-width:none;
}
.situationProgress::-webkit-scrollbar{display:none}
.situationStep{
  flex:1 0 86px;
  min-width:86px;
  display:flex;
  align-items:center;
  gap:5px;
  opacity:.48;
}
.situationStep i{
  flex:0 0 22px;
  width:22px;height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#dfe7e3;
  color:#607068;
  font-style:normal;
  font-size:.60rem;
  font-weight:900;
}
.situationStep span{
  font-size:.59rem;
  font-weight:750;
  line-height:1.1;
}
.situationStep.done,.situationStep.current{opacity:1}
.situationStep.done i{
  background:#ccebd9;color:#236344;
}
.situationStep.current i{
  background:#173f31;color:white;
}
.situationStep.current span{color:#173f31}

/* next action */
.situationNextAction,.situationNextDone{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  background:#e8f7aa;
  border:1px solid #d5eb7c;
  padding:10px 12px;
  border-radius:13px;
  margin-bottom:10px;
}
.situationNextAction>div,.situationNextDone{
  min-width:0;
}
.situationNextAction small,.situationNextDone small{
  display:block;
  color:#65714c;
  font-size:.56rem;
  letter-spacing:.06em;
}
.situationNextAction b,.situationNextDone b{
  display:block;
  margin-top:2px;
  font-size:.78rem;
}
.situationAdvanceBtn{
  flex:none;
  min-height:36px;
  padding:7px 11px!important;
  font-size:.70rem!important;
}

/* panels */
.situation2Grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.72fr);
  gap:9px;
}
.situation2Panel{
  margin-top:9px;
  padding:12px;
  background:white;
  border:1px solid #dce6e1;
  border-radius:14px;
}
.situation2Grid .situation2Panel{margin-top:0}
.situation2SectionHead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.situation2SectionHead small{
  color:#7b8982;
  font-size:.55rem;
  letter-spacing:.07em;
}
.situation2SectionHead h3{
  margin:2px 0 0;
  font-size:.90rem;
}
.situationDescription{
  margin:0 0 9px;
  font-size:.74rem;
  color:#4f5f57;
  line-height:1.4;
}
.situationFacts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.situationFacts>div,.situationFacts>button{
  min-width:0;
  padding:8px 9px;
  border:1px solid #e5ebe8;
  border-radius:9px;
  background:#f8faf9;
  text-align:left;
}
.situationFacts small{
  display:block;
  color:#829088;
  font-size:.53rem;
  letter-spacing:.05em;
}
.situationFacts b{
  display:block;
  margin-top:2px;
  font-size:.68rem;
  overflow-wrap:anywhere;
}
.situationFacts button span{
  display:block;
  margin-top:3px;
  color:#24664e;
  font-size:.57rem;
  font-weight:750;
}
.situationStatusSelect{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:.64rem;
  color:#68766f;
}
.situationStatusSelect select{
  width:100%;
}
.currentStageCard{
  margin-top:8px;
  padding:9px;
  border-radius:10px;
  background:#f3f7f5;
}
.currentStageCard span{
  display:block;font-size:.50rem;color:#839089;letter-spacing:.08em;
}
.currentStageCard b{
  display:block;margin:3px 0;font-size:.76rem;
}
.currentStageCard small{
  font-size:.61rem;color:#748179;
}

/* OS and evidence compactness */
.situationOSList .osCard{
  margin:6px 0!important;
}
.situationAlbums .album{
  margin-top:7px;
}
.situationAlbums .evidencias{
  margin-top:6px;
}

/* timeline */
.situationTimeline{
  display:flex;
  flex-direction:column;
}
.timelineEvent{
  position:relative;
  display:grid;
  grid-template-columns:16px 1fr;
  gap:8px;
  min-height:42px;
}
.timelineEvent:not(:last-child)::before{
  content:'';
  position:absolute;
  left:6px;
  top:16px;
  bottom:-2px;
  width:1px;
  background:#d9e3de;
}
.timelineDot{
  position:relative;
  z-index:1;
  width:13px;height:13px;
  border-radius:50%;
  margin-top:3px;
  background:#9aaba2;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #cad7d0;
}
.timelineDot.kind-status{background:#1b6249}
.timelineDot.kind-evidence{background:#3d7fa1}
.timelineDot.kind-os{background:#8a6b34}
.timelineDot.kind-created{background:#5e6d66}
.timelineEvent>div{
  display:flex;
  flex-direction:column;
  padding-bottom:8px;
}
.timelineEvent b{font-size:.69rem}
.timelineEvent span{font-size:.61rem;color:#64736b;margin-top:1px}
.timelineEvent small{font-size:.56rem;color:#91a098;margin-top:2px}

@media(max-width:720px){
  #conteudoSituacao{padding:12px}
  .situation2Grid{grid-template-columns:1fr}
  .situationFacts{grid-template-columns:1fr}
  .situationNextAction{align-items:stretch;flex-direction:column}
  .situationAdvanceBtn{width:100%}
}


/* ==========================================================
   FISCAMB 0.27.15 — Diligência + evidência em lote
   ========================================================== */

.subjectPicker{
  border:1px solid #dde7e2;
  border-radius:12px;
  padding:10px;
}
.subjectPicker legend{
  padding:0 5px;
  font-size:.68rem;
  font-weight:800;
}
.subjectChips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:7px;
}
.subjectChips button{
  min-height:30px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid #d5e1db;
  background:#f8fbf9;
  color:#596961;
  font-size:.65rem;
  font-weight:750;
}
.subjectChips button.selected{
  background:#173f31;
  border-color:#173f31;
  color:#fff;
}

.osMotives{
  display:flex;flex-wrap:wrap;gap:5px;margin:6px 0;
}
.osMotives span{
  padding:4px 7px;border-radius:999px;background:#edf4f0;
  color:#486258;font-size:.61rem;font-weight:700;
}
.osAddMotive{
  margin-top:6px!important;padding:5px 7px!important;
  border:0!important;background:transparent!important;
  color:#25654d!important;font-size:.61rem!important;font-weight:800!important;
}

/* Diligência */
#dlgDiligencia{
  width:min(760px,96vw);
  max-width:760px;
  max-height:94vh;
  padding:0;
  border:0;
  border-radius:20px;
  overflow:auto;
}
#conteudoDiligencia{
  padding:16px;
  background:#f5f8f6;
}
.diligenceHead{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  margin-bottom:10px;
}
.diligenceHead small{font-size:.57rem;letter-spacing:.08em;color:#718078}
.diligenceHead h2{margin:2px 0;font-size:1.18rem}
.diligenceHead span{font-size:.68rem;color:#6e7b75}
.diligenceBlock{
  background:#fff;border:1px solid #dce6e1;border-radius:13px;
  padding:11px;margin-top:8px;
}
.diligenceBlock>small{
  display:block;margin-bottom:7px;font-size:.56rem;letter-spacing:.07em;color:#7b8982;
}
.diligenceBlock textarea{width:100%;resize:vertical}
.diligenceHint{margin:5px 0 0;font-size:.60rem;color:#839089}
.diligenceEvidenceHead{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;
}
.diligenceEvidenceHead small{display:block;font-size:.54rem;color:#85928b}
.diligenceEvidenceHead b{font-size:.78rem}
.diligenceCaptureActions{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;
}
.captureAction{
  position:relative;overflow:hidden;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  min-height:44px;border:1px solid #d8e3dd;border-radius:10px;
  background:#f8fbf9;font-size:.70rem;font-weight:800;
}
.captureAction.camera{background:#173f31;color:#fff;border-color:#173f31}
.captureAction input{
  position:absolute;inset:0;opacity:0;cursor:pointer;
}
.diligenceFilesPreview{
  display:flex;flex-direction:column;gap:5px;margin-top:8px;
}
.diligenceFileItem{
  display:grid;grid-template-columns:24px 1fr 28px;gap:7px;align-items:center;
  padding:6px 7px;border-radius:9px;background:#f4f8f6;
}
.diligenceFileItem>span{font-size:.82rem}
.diligenceFileItem>div{min-width:0;display:flex;flex-direction:column}
.diligenceFileItem b{font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.diligenceFileItem small{font-size:.56rem;color:#809087}
.diligenceFileItem button{padding:3px;border:0;background:transparent}
.diligenceFooter{
  position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:7px;
  padding:10px 0 0;background:#f5f8f6;
}
.diligenceFooter button{min-height:40px}

.diligenceList{display:flex;flex-direction:column;gap:5px}
.diligenceRow{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  gap:10px;padding:8px 9px;border:1px solid #e1e9e5;border-radius:9px;
  background:#f9fbfa;text-align:left;
}
.diligenceRow>div{display:flex;flex-direction:column;min-width:0}
.diligenceRow b{font-size:.68rem}
.diligenceRow small{font-size:.58rem;color:#738179;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.diligenceRow>span{font-size:.60rem;color:#35644f;flex:none}

/* uploads em lote */
.batchUpload{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px!important;
}
.batchUpload input[type=file]{
  min-width:0;width:100%;
}
.albumHead{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-bottom:6px;
}
.videoEvidence{
  display:grid;place-items:center;
  min-height:70px;background:#edf2ef;border-radius:7px;
  font-size:.66rem;font-weight:800;
}

/* Campo: garante que a correção visual do botão permaneça sem oval no texto. */
.fieldPrimaryActions .fieldActionText{
  background:transparent!important;
  border-radius:0!important;
}
.fieldPrimaryActions .fieldActionPrimary .fieldActionText{
  color:#173028!important;
}

@media(max-width:650px){
  #conteudoDiligencia{padding:11px}
  .diligenceCaptureActions{grid-template-columns:1fr}
  .diligenceFooter{flex-direction:column}
  .diligenceFooter button{width:100%}
}


/* ==========================================================
   FISCAMB 0.27.16 — endereço automático + voz + captura
   ========================================================== */

.newSituationLocation{
  margin:8px 0 10px;
  padding:10px;
  border:1px solid #dce6e1;
  border-radius:12px;
  background:#f8fbf9;
}
.newSituationLocationHead{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:7px;
}
.newSituationLocationHead>div{display:flex;flex-direction:column}
.newSituationLocationHead small{
  font-size:.55rem;letter-spacing:.07em;color:#7e8b84;
}
.newSituationLocationHead b{font-size:.76rem}
.newSituationLocationHead>span{
  padding:4px 7px;border-radius:999px;background:#eaf2ee;
  color:#5d7167;font-size:.58rem;font-weight:750;
}
.newSituationLocationBody{
  display:flex;flex-direction:column;gap:2px;
  padding:8px 9px;margin-bottom:8px;
  background:#fff;border:1px solid #e2ebe6;border-radius:9px;
  color:#68766f;font-size:.68rem;
}
.newSituationLocationBody b{font-size:.72rem;color:#213a30}
.newSituationLocationBody span{font-size:.63rem;color:#65756d}
.newSituationLocationBody small{font-size:.58rem;color:#839089}
.hiddenCoords{display:none!important}

.diligenceNarrativeHead{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-bottom:7px;
}
.diligenceNarrativeHead>small{
  font-size:.56rem;letter-spacing:.07em;color:#7b8982;
}
.narrationBtn{
  min-height:30px!important;padding:5px 8px!important;
  border-radius:999px!important;
  font-size:.64rem!important;font-weight:800!important;
}
.narrationBtn.listening{
  background:#173f31!important;color:#fff!important;
  border-color:#173f31!important;
  animation:fiscambMicPulse 1.2s ease-in-out infinite;
}
@keyframes fiscambMicPulse{
  50%{box-shadow:0 0 0 5px rgba(23,63,49,.12)}
}
.diligenceCaptureActions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.captureDesktopHint{
  grid-column:1/-1;
  font-size:.60rem;color:#7b8982;line-height:1.3;
  padding:6px 7px;background:#f4f7f5;border-radius:8px;
}
.captureAction.video{
  background:#245545;color:#fff;border-color:#245545;
}

@media(min-width:701px){
  #formNova .newSituationLocation label{
    margin-top:7px;
  }
}
@media(max-width:650px){
  .diligenceCaptureActions{grid-template-columns:1fr!important}
}


/* ==========================================================
   FISCAMB 0.27.17 — Nova Situação: contexto automático
   ========================================================== */

#dlgNova{
  width:min(820px,96vw);
}
#formNova{
  padding-bottom:4px;
}
#formNova .dialogHead{
  margin-bottom:8px;
}

/* O aviso "Registro iniciado por..." foi removido: a identidade já existe na sessão. */

.newSituationLocation{
  border-color:#ccdcd4!important;
  background:#f5f9f7!important;
}
.newSituationLocationHead{
  margin-bottom:6px!important;
}
.newSituationLocationBody{
  padding:10px!important;
}
.newSituationLocationBody b{
  font-size:.78rem!important;
}
.newSituationLocationBody span{
  font-size:.65rem!important;
}
.newSituationRelevant{
  margin:7px 0 9px;
  padding:8px 9px;
  border:1px solid #dde7e2;
  border-radius:9px;
  background:#fff;
}
.newSituationRelevantHead{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-bottom:6px;
}
.newSituationRelevantHead small{
  font-size:.54rem;
  letter-spacing:.07em;
  color:#65766d;
  font-weight:850;
}
.newSituationRelevantHead span{
  font-size:.55rem;
  color:#89958f;
}
.newSituationRelevantChips{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.newSituationRelevantChip{
  display:inline-flex;
  gap:4px;
  align-items:center;
  min-height:27px;
  padding:4px 7px;
  border:1px solid #d9e4de;
  border-radius:999px;
  background:#f8faf9;
  color:#596a61;
  font-size:.58rem;
}
.newSituationRelevantChip b{
  font-size:.56rem;
  color:#253b31;
}
.newSituationRelevantChip.zone{background:#f0f4fc;border-color:#d7e1f3}
.newSituationRelevantChip.special{background:#fbf0f6;border-color:#efd5e3}
.newSituationRelevantChip.env{background:#edf7f0;border-color:#cee5d6}
.newSituationRelevantChip.coast{background:#edf7f8;border-color:#cee5e8}
.newSituationRelevantChip.parcel{background:#f5f0fa;border-color:#e2d6ed}

.demandOriginBlock{
  margin-top:9px;
  padding:10px;
  border:1px solid #dce6e1;
  border-radius:12px;
  background:#fff;
}
.demandOriginGrid{
  align-items:end;
}
.demandOriginBlock label{
  margin:0;
}
#novaProcessoWrap{
  display:block;
  margin-top:8px!important;
  padding-top:8px;
  border-top:1px solid #edf1ef;
}
#novaProcessoWrap.originEmphasis{
  padding:8px;
  border:1px solid #d3e3da;
  border-radius:9px;
  background:#f4f9f6;
}

/* Equipe fica mais limpa e sem atalho de equipe recente. */
.teamPicker{
  margin-top:9px;
}
.teamPicker>p{
  margin:0 0 7px;
  font-size:.64rem;
}
.teamRecentBtn{display:none!important}

@media(max-width:650px){
  .newSituationRelevantHead{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}


/* ==========================================================
   FISCAMB 0.27.18 — consolidação operacional
   ========================================================== */
.situationToolbar{
  grid-template-columns:minmax(260px,1fr) 180px 170px auto!important;
  gap:8px!important;
}
.operationalCard{
  position:relative;border-top:4px solid #cdd9d3!important;padding-top:15px!important;
}
.operationalCard.statusCard-em_diligencia{border-top-color:#4f8aa5!important}
.operationalCard.statusCard-vistoriada{border-top-color:#6e9276!important}
.operationalCard.statusCard-relatorio_pendente{border-top-color:#d6a84b!important}
.operationalCard.statusCard-relatorio_revisado{border-top-color:#8c73a8!important}
.operationalCard.statusCard-aguardando_providencia{border-top-color:#8b7f69!important}
.operationalCard.statusCard-concluida{border-top-color:#6ea77d!important}
.cardReferenceRow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cardPrimaryRef{font-size:.82rem;font-weight:900;color:#0f4937;letter-spacing:.01em}
.cardInternalRef{margin-top:3px;color:#89968f;font-size:.56rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.operationalCard h3{margin-top:9px!important}
.operationalCard .cardMeta{margin-top:9px!important}

#dlgLocalContext{
  width:min(620px,94vw);max-width:620px;border:0;border-radius:18px;padding:0;
}
#conteudoLocalContext{padding:16px;background:#f6f9f7}
.localContextHead{display:flex;justify-content:space-between;gap:12px}
.localContextHead small{font-size:.56rem;letter-spacing:.08em;color:#74837b}
.localContextHead h2{margin:2px 0;font-size:1.15rem}
#conteudoLocalContext>p{font-size:.72rem;color:#586961}
.localHistoryList{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.localHistoryItem{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;
  text-align:left;padding:9px;border:1px solid #dce6e1;border-radius:10px;background:white;
}
.localHistoryItem.active{border-left:4px solid #c18c30}
.localHistoryItem.closed{opacity:.78}
.localHistoryItem>div{display:flex;flex-direction:column;min-width:0}
.localHistoryItem small{font-size:.54rem;color:#7d8a84}
.localHistoryItem b{font-size:.74rem}
.localHistoryItem span{font-size:.63rem;color:#65746c}
.localHistoryItem em{font-size:.60rem;color:#365d4c;font-style:normal;flex:none}
.localContextActions{display:flex;justify-content:flex-end;gap:7px}

#dlgRelatorio{
  width:min(960px,96vw);max-width:960px;max-height:94vh;border:0;border-radius:18px;padding:0;overflow:auto;
}
#conteudoRelatorio{padding:17px;background:#f5f8f6}
.reportHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.reportHead small{font-size:.55rem;letter-spacing:.08em;color:#728179}
.reportHead h2{margin:2px 0;font-size:1.15rem}
.reportHead span{font-size:.65rem;color:#66766e}
.reportSourceNote{margin:10px 0;padding:8px 10px;border-radius:9px;background:#edf4f0;color:#566a60;font-size:.64rem;line-height:1.35}
.reportEditor{display:flex;flex-direction:column;gap:8px}
.reportField{display:flex;flex-direction:column;gap:4px;padding:9px;background:white;border:1px solid #dce6e1;border-radius:10px}
.reportField>span{font-size:.66rem;font-weight:850;color:#244437}
.reportField textarea{width:100%;resize:vertical;line-height:1.4}
.reportActions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:7px;margin-top:10px;padding-top:10px;background:#f5f8f6}
.reportEntrySummary{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.reportEntrySummary span{padding:4px 7px;border-radius:999px;background:#edf4f0;font-size:.60rem;color:#426351;font-weight:800}
.reportEntrySummary b{font-size:.63rem;color:#6c7a73}

.fieldPrimaryActions button{min-height:60px!important}
.fieldPrimaryActions .fieldActionText b{font-size:.78rem!important}
.fieldPrimaryActions .fieldActionText small{font-size:.61rem!important}

@media(min-width:1200px){
  .territoryLayout{grid-template-columns:minmax(0,1.72fr) minmax(400px,.78fr)!important}
  .territoryCard{border-radius:15px!important}
  .territoryCardHead{padding:11px 13px!important}
  .territoryScope{padding:6px 10px!important}
  .territoryLocationHero{padding:6px 9px!important}
  #territorioFicha details summary{min-height:39px!important;padding:7px 8px!important}
}
#territorioFicha details.scopeEmpty{display:none!important}

@media(max-width:900px){
  .situationToolbar{grid-template-columns:1fr 1fr!important}
  .situationToolbar input{grid-column:1/-1}
}
@media(max-width:600px){
  .situationToolbar{grid-template-columns:1fr!important}
  .situationToolbar input{grid-column:auto}
  .reportActions,.localContextActions{flex-direction:column}
  .reportActions button,.localContextActions button{width:100%}
}


/* ==========================================================
   FISCAMB 0.27.19 — Acervo Institucional v1
   ========================================================== */
.acervoHero{
  background:white;border:1px solid var(--line);border-radius:22px;padding:22px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
}
.acervoHero h1{margin:.12rem 0;font-size:2rem}
.acervoHero p{margin:.35rem 0 0;max-width:720px;color:var(--muted)}
.acervoStats{
  display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:12px 0;
}
.acervoStats article{background:white;border:1px solid var(--line);border-radius:13px;padding:12px}
.acervoStats small{display:block;font-size:.55rem;letter-spacing:.08em;color:var(--muted)}
.acervoStats b{display:block;margin-top:3px;font-size:1.45rem}
.acervoStats .acervoReviewStat b{color:#a56f16}
.acervoSourceState{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.acervoSource{
  background:#f8faf9;border:1px solid var(--line);border-radius:11px;padding:8px 10px;
  display:flex;gap:8px;align-items:flex-start;
}
.acervoSource i{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;
  background:#e3f2eb;color:#246447;font-weight:900;flex:none;
}
.acervoSource.missing i{background:#fff1d5;color:#9a6815}
.acervoSource div{min-width:0;display:flex;flex-direction:column}
.acervoSource b{font-size:.7rem}
.acervoSource span{font-size:.61rem;color:var(--muted)}
.acervoSource small{font-size:.50rem;color:#85928c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acervoToolbar{
  display:grid;grid-template-columns:minmax(250px,1fr) 170px 145px 190px;gap:8px;margin:10px 0 12px;
}
.acervoToolbar select,.acervoMatchesPanel select,.situationToolbar select{
  border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);padding:9px;
}
.acervoWorkspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:12px}
.acervoSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 2px 8px}
.acervoSectionHead small{font-size:.53rem;letter-spacing:.09em;color:var(--muted)}
.acervoSectionHead h3{margin:1px 0;font-size:.9rem}
.acervoList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.acervoDocCard{
  text-align:left;background:white;border:1px solid var(--line);border-radius:13px;padding:10px;
  min-width:0;transition:.12s ease;
}
.acervoDocCard:hover{border-color:#aac7ba;transform:translateY(-1px)}
.acervoDocCard.needsReview{border-left:4px solid #d6a84b}
.acervoDocTop{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.acervoDocTop>div{display:flex;flex-direction:column;min-width:0}
.acervoDocTop small{font-size:.5rem;color:#819087;letter-spacing:.07em}
.acervoDocTop b{font-size:.64rem;color:#2d5745}
.acervoYear{background:#eef4f1;border-radius:999px;padding:3px 6px;font-size:.54rem;font-weight:800}
.acervoDocCard h4{font-size:.69rem;line-height:1.25;margin:8px 0 6px;overflow-wrap:anywhere}
.acervoDocMeta{display:flex;gap:7px;flex-wrap:wrap;font-size:.55rem;color:var(--muted)}
.acervoRefChips{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}
.acervoRefChips span{background:#eef5f1;border:1px solid #dce8e2;border-radius:999px;padding:3px 6px;font-size:.52rem;font-weight:700;color:#315d4a}
.acervoRefChips.large span{font-size:.61rem;padding:5px 8px}
.acervoMatchesPanel{
  background:white;border:1px solid var(--line);border-radius:14px;padding:10px;height:max-content;
  position:sticky;top:74px;max-height:calc(100vh - 95px);overflow:auto;
}
.acervoMatchesPanel select{padding:6px;font-size:.6rem}
.acervoRule{background:#f5f7f6;border-radius:8px;padding:7px;font-size:.57rem;color:#687870;line-height:1.35}
.acervoMatches{display:flex;flex-direction:column;gap:6px}
.acervoMatch{display:flex;gap:8px;text-align:left;padding:7px;border-radius:9px;width:100%}
.acervoMatch.forte{border-left:4px solid #4f8c68}
.acervoMatch.provavel{border-left:4px solid #d1a44b}
.acervoMatch.possivel{border-left:4px solid #8696a1}
.acervoMatchScore{width:38px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center}
.acervoMatchScore b{font-size:.75rem}.acervoMatchScore small{font-size:.47rem;text-transform:uppercase;color:var(--muted)}
.acervoMatchBody{min-width:0;display:flex;flex-direction:column}
.acervoMatchBody b,.acervoMatchBody span{font-size:.57rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acervoMatchBody span{color:#63736b;margin-top:2px}
.acervoMatchBody small{font-size:.49rem;color:#88948e;margin-top:3px}
#dlgAcervoDoc{width:min(880px,95vw);max-width:880px}
#conteudoAcervoDoc{padding:17px}
.acervoDocFacts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}
.acervoDocFacts>div{padding:8px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}
.acervoDocFacts small{display:block;font-size:.49rem;color:var(--muted)}
.acervoDocFacts b{font-size:.65rem}
.acervoDocPath{padding:8px;border-radius:8px;background:#f4f7f5;display:flex;flex-direction:column}
.acervoDocPath small{font-size:.49rem;color:var(--muted)}
.acervoDocPath span{font-size:.55rem;overflow-wrap:anywhere;margin-top:3px}
.acervoDocSection{margin-top:12px}
.acervoDocSection h3{font-size:.78rem;margin:5px 0}
.acervoDocLinks{display:flex;flex-direction:column;gap:5px}
.acervoDocLinks button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px;width:100%}
.acervoDocLinks b{font-size:.63rem;margin-top:3px}
.acervoDocLinks small{font-size:.53rem;color:var(--muted);margin-top:2px}
.matchLevel{font-size:.49rem;text-transform:uppercase;font-weight:800}
.matchLevel.forte{color:#3f7555}.matchLevel.provavel{color:#a8751d}.matchLevel.possivel{color:#687985}
.acervoDocActions{display:flex;justify-content:flex-end;margin-top:12px}

@media(max-width:950px){
  .acervoStats{grid-template-columns:repeat(3,1fr)}
  .acervoToolbar{grid-template-columns:1fr 1fr}
  .acervoToolbar input{grid-column:1/-1}
  .acervoWorkspace{grid-template-columns:1fr}
  .acervoMatchesPanel{position:static;max-height:none}
}
@media(max-width:650px){
  .navtabs{overflow-x:auto}
  .navtabs .tab{flex:0 0 auto}
  .acervoHero{align-items:stretch;flex-direction:column}
  .acervoStats{grid-template-columns:1fr 1fr}
  .acervoSourceState{grid-template-columns:1fr}
  .acervoToolbar{grid-template-columns:1fr}
  .acervoToolbar input{grid-column:auto}
  .acervoList{grid-template-columns:1fr}
  .acervoDocFacts{grid-template-columns:1fr 1fr}
}

.situationAcervoShortcut{margin-top:8px;padding:6px 9px;font-size:.60rem;border-radius:999px;background:#f4f8f6;color:#315d4a}

/* ==========================================================
   FISCAMB 0.27.20 — Cartografia profissional + CLIFA
   ========================================================== */

/* Símbolos pontuais com leitura técnica consistente. */
.analysisSymbolIcon>span{
  width:28px!important;
  height:28px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}
.analysisSvgSymbol{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:8px;background:rgba(255,255,255,.94);
  border:1px solid color-mix(in srgb,var(--symbol-color) 70%,#fff 30%);
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}
.analysisSvgSymbol svg{width:24px;height:24px;display:block}
.analysisGlyphSymbol{
  min-width:25px;height:25px;padding:0 4px;display:grid;place-items:center;
  border-radius:7px;background:rgba(255,255,255,.95);border:2px solid var(--symbol-color);
  color:var(--symbol-color);font-size:8px;font-weight:950;letter-spacing:-.02em;
  box-shadow:0 2px 8px rgba(0,0,0,.20);
}
.analysisGlyphSymbol.small{font-size:15px}.analysisGlyphSymbol.triangle{font-size:12px}
.analysisFiscalMarker{
  width:25px;height:25px;display:grid;place-items:center;border-radius:50% 50% 50% 7px;
  transform:rotate(-45deg);background:var(--symbol-color);border:2px solid #fff;
  color:white;font-size:8px;font-weight:950;box-shadow:0 2px 8px rgba(0,0,0,.28);
}
.analysisFiscalMarker::first-letter{transform:rotate(45deg)}
.analysisFiscalMarker{line-height:1}
.analysisFiscalMarker{font-family:Inter,system-ui,sans-serif}
.analysisFiscalMarker{--marker-rotation:45deg}
.analysisFiscalMarker{ }
.analysisFiscalMarker{ }
.analysisFiscalMarker{ }
/* Texto interno precisa desfazer a rotação; o próprio glyph permanece legível pelo tamanho curto. */
.style-instrumento_fiscal .analysisFiscalMarker{transform:rotate(-45deg)}
.style-instrumento_fiscal .analysisFiscalMarker{writing-mode:horizontal-tb}

/* Hierarquia visual: polígonos legíveis sem apagar o mapa, linhas acima deles, pontos acima das linhas. */
.leaflet-analysisPolygonPane-pane path{stroke-linejoin:round;stroke-linecap:round}
.leaflet-analysisLinePane-pane path{stroke-linejoin:round;stroke-linecap:round}

/* Monitoramento da atuação fiscal no painel de Análise. */
.analysisFiscalMonitor{
  margin:6px 8px 4px;border:1px solid #dbe5df;border-radius:10px;background:#fbfcfb;overflow:hidden;
}
.analysisFiscalMonitor>summary{
  list-style:none;cursor:pointer;padding:8px 9px;display:flex;justify-content:space-between;align-items:center;gap:8px;
}
.analysisFiscalMonitor>summary::-webkit-details-marker{display:none}
.analysisFiscalMonitor>summary>div{display:flex;flex-direction:column}
.analysisFiscalMonitor>summary small{font-size:.49rem;letter-spacing:.09em;color:#7b8982}
.analysisFiscalMonitor>summary b{font-size:.68rem}
.analysisFiscalMonitor>summary>span{font-size:.50rem;color:#75837c}
.analysisFiscalMonitor.activeMonitor{border-color:#bdcec5;background:#f8fbf9}
.analysisFiscalMonitorBody{padding:0 8px 8px}
.analysisFiscalFilters{display:grid;grid-template-columns:1fr;gap:5px}
.analysisFiscalFilters select{padding:6px 7px;border:1px solid #dce5e0;border-radius:8px;background:white;font-size:.58rem}
.analysisFiscalKPIs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:6px 0}
.analysisFiscalKPIs>div{background:white;border:1px solid #e3e9e6;border-radius:8px;padding:6px}
.analysisFiscalKPIs b{display:block;font-size:.83rem;color:#234b3b}.analysisFiscalKPIs span{font-size:.49rem;color:#77857e}
.analysisFiscalTypes{display:flex;flex-direction:column;gap:3px;max-height:170px;overflow:auto}
.analysisFiscalTypeRow{padding:4px 5px!important;border:0!important;border-radius:6px!important;display:grid!important;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;text-align:left;background:transparent!important}
.analysisFiscalTypeRow:hover{background:#eef4f1!important}
.analysisFiscalTypeRow i{width:7px;height:7px;border-radius:50%;background:var(--fiscal-color)}
.analysisFiscalTypeRow span{font-size:.52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysisFiscalTypeRow b{font-size:.52rem}
.analysisFiscalScope{display:block;margin-top:5px;color:#849089;font-size:.48rem}

/* Instrumentos na Situação e nos cards. */
.cardInstruments{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}
.instrumentChip{
  display:inline-flex;gap:4px;align-items:center;padding:3px 6px;border-radius:999px;
  background:color-mix(in srgb,var(--instrument-color) 10%,#fff 90%);
  border:1px solid color-mix(in srgb,var(--instrument-color) 35%,#fff 65%);
  color:color-mix(in srgb,var(--instrument-color) 88%,#26352f 12%);font-size:.52rem;
}
.instrumentChip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--instrument-color)}
.instrumentChip b{font-size:.53rem}.instrumentMore{font-size:.52rem;color:#78857f;align-self:center}
.situationInstrumentList{display:flex;flex-direction:column;gap:6px}
.situationInstrumentRow{display:grid;grid-template-columns:9px 1fr;gap:8px;padding:8px;border:1px solid #e0e7e3;border-radius:9px;background:#fbfcfb}
.situationInstrumentRow>i{width:7px;height:100%;min-height:34px;border-radius:999px;background:var(--instrument-color)}
.situationInstrumentRow>div{display:flex;flex-direction:column;min-width:0}.situationInstrumentRow b{font-size:.68rem}.situationInstrumentRow span{font-size:.60rem;color:#53645c}.situationInstrumentRow small{font-size:.52rem;color:#849089;margin-top:2px}
#dlgInstrumento{width:min(650px,95vw);max-width:650px}.instrumentDialog #conteudoInstrumento{padding:17px}.instrumentFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.instrumentForm select{width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:11px;background:white}.instrumentFormNote{padding:8px;border-radius:8px;background:#eef5f1;color:#566a60;font-size:.60rem;line-height:1.35}.dialogActions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}
.timelineDot.kind-instrument{background:#c16d36!important}

/* Login inicia em estado neutro: nenhuma identidade pré-selecionada. */
.loginFiscalRow select:invalid{color:#7b8781}

@media(max-width:650px){
  .instrumentFormGrid{grid-template-columns:1fr}
  .dialogActions{flex-direction:column}.dialogActions button{width:100%}
}

.analysisFiscalMarker>b{display:block;transform:rotate(45deg);font-size:8px;line-height:1;color:#fff}
.analysisFiscalAreaTitle{margin:7px 0 3px;font-size:.48rem;letter-spacing:.07em;text-transform:uppercase;color:#7b8882;font-weight:850}
.analysisFiscalAreas{display:flex;flex-direction:column;gap:2px}
.analysisFiscalAreas>div{display:flex;justify-content:space-between;gap:8px;padding:3px 4px;border-bottom:1px solid #eef1ef}
.analysisFiscalAreas span{font-size:.50rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysisFiscalAreas b{font-size:.50rem}


/* ==========================================================
   FISCAMB 0.27.21 — análise limpa + instrumentos navegáveis
   ========================================================== */
.analysisLayerList{padding-top:5px}
.analysisGroup>summary{min-height:42px;padding:9px 8px}
.analysisGroup:not([open]) .analysisGroupBody{display:none}
.analysisGroup:first-child>summary{color:#173f31;font-weight:900}
.analysisGroup:first-child>summary::before{
  content:'●';font-size:.52rem;color:#9ab64d;margin-right:7px
}
.analysisGroup>summary>span{flex:1}

.fiscalAnalysisPopup{min-width:255px}
.fiscalPopupTitle{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.fiscalPopupTitle>div{display:flex;flex-direction:column;min-width:0}
.fiscalPopupTitle strong{font-size:.82rem;margin:0}
.fiscalPopupTitle small{font-size:.60rem;color:#6d7872;margin-top:1px}
.fiscalPopupCode{
  min-width:31px;height:31px;border-radius:8px;display:grid;place-items:center;
  background:#173f31;color:white;font-size:.60rem;font-weight:900
}
.fiscalPopupOpen{
  width:100%;margin-top:8px;padding:7px 9px;border:0;border-radius:8px;
  background:#edf4f0;color:#214e3b;font-size:.66rem;font-weight:850
}
.fiscalLeafletPopup .leaflet-popup-content{margin:11px 12px}

#dlgInstrumentoMapa{width:min(780px,95vw);max-width:780px;padding:0;border:0;border-radius:18px}
.instrumentoMapaHead{padding:15px 17px 10px;border-bottom:1px solid var(--line)}
#conteudoInstrumentoMapa{padding:14px 17px 17px}
.fiscalMapDetailHead{display:flex;flex-direction:column;gap:2px}
.fiscalMapDetailHead small{font-size:.52rem;letter-spacing:.08em;color:var(--muted)}
.fiscalMapDetailHead h3{font-size:1.03rem;margin:0}
.fiscalMapDetailHead span{font-size:.64rem;color:var(--muted)}
.fiscalMapDetailGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
.fiscalMapDetailGrid>div{padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}
.fiscalMapDetailGrid>div.wide{grid-column:1/-1}
.fiscalMapDetailGrid small,.fiscalMapNotes small{display:block;font-size:.49rem;color:var(--muted);letter-spacing:.05em}
.fiscalMapDetailGrid b{font-size:.65rem;line-height:1.3}
.fiscalMapNotes{margin-top:8px;padding:9px;border-radius:9px;background:#f5f7f6}
.fiscalMapNotes p{margin:3px 0 0;font-size:.63rem;line-height:1.4;max-height:130px;overflow:auto}
.fiscalMapActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.fiscalMapActions button{font-size:.64rem;padding:7px 10px}

@media(max-width:650px){
  .fiscalMapDetailGrid{grid-template-columns:1fr}
  .fiscalMapDetailGrid>div.wide{grid-column:auto}
  .fiscalMapActions{flex-direction:column}
  .fiscalMapActions button{width:100%}
}

/* ==========================================================
   FISCAMB 0.27.28 — premium stability pass
   Análise limpa, fiscalização legível e Acervo navegável.
   ========================================================== */
.analysisSubnav{display:flex;gap:5px;align-items:center;flex:0 0 auto;margin:-2px 0 8px;padding:3px;width:max-content;max-width:100%;border:1px solid #dbe4df;border-radius:11px;background:#f7faf8}
.analysisSubnav button{border:0;background:transparent;border-radius:8px;padding:7px 11px;font-size:.68rem;font-weight:800;color:#607068;white-space:nowrap}
.analysisSubnav button.active{background:#173f31;color:#fff;box-shadow:0 2px 8px rgba(17,56,43,.12)}
.analysisInteractionBar{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:7px 8px;border-bottom:1px solid #edf1ef;background:#fbfcfb}
.analysisInteractionBar button{min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #dbe4df;background:#fff;color:#5d6c65;border-radius:9px;padding:7px 6px;font-size:.60rem}
.analysisInteractionBar button span{font-size:.78rem}.analysisInteractionBar button b{font-size:.60rem;white-space:nowrap}
.analysisInteractionBar button.active{background:#e9f3ee;border-color:#9ebead;color:#1c553f;box-shadow:inset 0 0 0 1px rgba(31,104,79,.08)}
#analysisMap.instrumentMode{cursor:default}.leaflet-analysisFiscalPane-pane{pointer-events:auto}

/* Símbolos fiscais: cor + forma, sem rotações herdadas de versões anteriores. */
.style-instrumento_fiscal .analysisFiscalMarker,.analysisFiscalMarker{width:28px;height:28px;display:grid;place-items:center;transform:none!important;border:2px solid rgba(255,255,255,.98);background:var(--symbol-color);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.30);line-height:1;font-family:Inter,system-ui,sans-serif}
.analysisFiscalMarker>b,.style-instrumento_fiscal .analysisFiscalMarker>b{display:block!important;transform:none!important;font-size:7.5px!important;line-height:1!important;color:#fff!important;font-weight:950!important;letter-spacing:-.02em}
.analysisFiscalMarker.shape-circle{border-radius:50%}.analysisFiscalMarker.shape-square{border-radius:5px}.analysisFiscalMarker.shape-diamond{border-radius:4px;transform:rotate(45deg)!important}.analysisFiscalMarker.shape-diamond>b{transform:rotate(-45deg)!important}.analysisFiscalMarker.shape-octagon{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.analysisFiscalMarker.shape-hexagon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.analysisFiscalMarker.shape-triangle{clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:6px}.analysisFiscalMarker.shape-cross{clip-path:polygon(32% 0,68% 0,68% 32%,100% 32%,100% 68%,68% 68%,68% 100%,32% 100%,32% 68%,0 68%,0 32%,32% 32%)}.analysisFiscalMarker.shape-demolition{clip-path:polygon(20% 0,50% 30%,80% 0,100% 20%,70% 50%,100% 80%,80% 100%,50% 70%,20% 100%,0 80%,30% 50%,0 20%)}
.analysisFiscalClusterIcon{background:transparent!important;border:0!important}.analysisFiscalClusterIcon>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#173f31;color:#fff;border:3px solid rgba(255,255,255,.98);box-shadow:0 3px 12px rgba(0,0,0,.30)}.analysisFiscalClusterIcon b{font-size:.78rem;line-height:.9}.analysisFiscalClusterIcon small{font-size:.41rem;line-height:1;margin-top:2px;opacity:.84;text-transform:uppercase}
.fiscalClusterPopup{min-width:275px;max-width:370px}.fiscalClusterHead{display:flex;justify-content:space-between;align-items:end;gap:10px;padding-bottom:7px;border-bottom:1px solid #e4ebe7}.fiscalClusterHead small{font-size:.50rem;letter-spacing:.08em;color:#74827b}.fiscalClusterHead b{font-size:.72rem}.fiscalClusterRows{display:flex;flex-direction:column;gap:3px;margin-top:5px;max-height:300px;overflow:auto}.fiscalClusterRow{width:100%;display:grid!important;grid-template-columns:7px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left;padding:7px!important;border:0!important;border-radius:8px!important;background:#f8faf9!important}.fiscalClusterRow:hover{background:#edf4f0!important}.fiscalClusterRow i{width:6px;height:100%;min-height:31px;border-radius:999px;background:var(--cluster-item-color)}.fiscalClusterRow>div{display:flex;flex-direction:column;min-width:0}.fiscalClusterRow b{font-size:.62rem}.fiscalClusterRow span{font-size:.54rem;color:#53645c}.fiscalClusterRow small{font-size:.48rem;color:#87938d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fiscalClusterRow em{font-style:normal;font-size:1rem;color:#607068}.fiscalClusterMore{display:block;margin-top:5px;color:#7c8983;font-size:.50rem}

/* Painel fiscal — separado da árvore de camadas. */
.analysisFiscalDashboard{flex:1 1 auto;min-height:0;overflow:auto;padding:2px 2px 12px}
.fiscalDashHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;padding:12px 14px;margin-bottom:8px;border:1px solid #dbe4df;border-radius:13px;background:#fff}.fiscalDashHeader>div:first-child{min-width:0}.fiscalDashHeader small,.fiscalDashPanelHead small{font-size:.55rem;letter-spacing:.08em;color:#73817a}.fiscalDashHeader h2{margin:2px 0 3px;font-size:1.05rem}.fiscalDashHeader p{margin:0;font-size:.66rem;color:#6f7d76}.fiscalDashFilters{display:flex;gap:7px;flex:0 0 auto}.fiscalDashFilters label{display:flex;flex-direction:column;gap:3px;font-size:.52rem;color:#74817b}.fiscalDashFilters select{min-width:145px;padding:7px 9px;border:1px solid #d7e1dc;border-radius:8px;background:#fff;font-size:.62rem}
.fiscalDashKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}.fiscalDashKpis article{background:#fff;border:1px solid #dbe4df;border-radius:12px;padding:12px 13px;min-width:0}.fiscalDashKpis small{display:block;font-size:.52rem;color:#78857f;letter-spacing:.06em}.fiscalDashKpis b{display:block;margin:3px 0 1px;font-size:1.45rem;line-height:1;color:#173f31}.fiscalDashKpis span{font-size:.56rem;color:#78857f}
.fiscalDashGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:8px}.fiscalDashPanel{background:#fff;border:1px solid #dbe4df;border-radius:12px;padding:11px 12px;min-width:0}.fiscalDashPanel.fiscalDashWide{grid-column:1/-1}.fiscalDashPanelHead{display:flex;justify-content:space-between;gap:8px;align-items:flex-end;margin-bottom:9px}.fiscalDashPanelHead h3{margin:2px 0 0;font-size:.78rem}.fiscalDashPanelHead>span{font-size:.52rem;color:#73817a}
.fiscalDashBars{display:flex;flex-direction:column;gap:7px}.fiscalDashBarRow>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:3px}.fiscalDashBarRow b{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fiscalDashBarRow span{font-size:.55rem;color:#6e7c75}.fiscalDashBarTrack{height:6px;border-radius:999px;background:#edf2ef;overflow:hidden}.fiscalDashBarTrack i{display:block;height:100%;border-radius:999px;background:#2c6b53}
.fiscalDashRanking{display:flex;flex-direction:column;gap:3px}.fiscalDashRankRow{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 5px;border-bottom:1px solid #edf1ef}.fiscalDashRankRow:last-child{border-bottom:0}.fiscalDashRankRow>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#eef4f1;color:#426253;font-size:.50rem;font-weight:800}.fiscalDashRankRow b{font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fiscalDashRankRow strong{font-size:.59rem;color:#355747}
.fiscalDashYears{min-height:150px;display:flex;align-items:flex-end;gap:12px;padding:8px 4px 0;overflow-x:auto}.fiscalDashYear{min-width:56px;display:grid;grid-template-rows:105px auto auto;text-align:center;gap:3px}.fiscalDashYear>div{height:105px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #dbe4df}.fiscalDashYear i{display:block;width:24px;max-height:100%;background:#315f4d;border-radius:6px 6px 0 0}.fiscalDashYear b{font-size:.55rem;color:#355747}.fiscalDashYear span{font-size:.52rem;color:#75827c}

/* Acervo: inspector documental e correspondências orientadas a ação. */
.acervoMatch{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:8px!important;background:#fff!important;border:1px solid #e0e7e3!important;border-left-width:4px!important;border-radius:10px!important;width:100%}.acervoMatch.forte{border-left-color:#4f8c68!important}.acervoMatch.provavel{border-left-color:#d1a44b!important}.acervoMatch.possivel{border-left-color:#8696a1!important}.acervoMatchConfidence{display:flex;flex-direction:column;gap:3px}.acervoMatchConfidence small{font-size:.49rem;color:#7d8983}.acervoMatchDoc{display:flex!important;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 7px!important;border:1px solid #edf1ef!important;border-radius:7px!important;background:#f9fbfa!important;text-align:left}.acervoMatchDoc b{min-width:0;font-size:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acervoMatchDoc span{font-size:.48rem;color:#557064;white-space:nowrap}.acervoMatchArrow{text-align:center;color:#8b9791;font-size:.63rem;line-height:1}
.acervoRefChips.clickable button{padding:5px 8px;border-radius:999px;border:1px solid #cfe1d8;background:#eef6f2;color:#2f644f;font-size:.56rem;font-weight:800}.acervoRefChips.clickable button:hover{background:#dfeee7}
.acervoExtractedText{margin:0;max-height:310px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:11px;border:1px solid #e1e8e4;border-radius:9px;background:#fafcfb;color:#34463e;font:500 .62rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.acervoDocLinks.enhanced button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:center}.acervoDocLinks.enhanced button b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acervoDocLinks.enhanced button small{grid-column:2;font-size:.51rem;color:#7c8983}.acervoDocActions{position:sticky;bottom:0;background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0));padding-top:14px}

@media (min-width:761px){body.analysisMode.analysisFiscalView main{overflow:hidden}.analysisFiscalDashboard{padding-right:4px}}
@media (max-width:1050px){.fiscalDashKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fiscalDashGrid{grid-template-columns:1fr}.fiscalDashPanel.fiscalDashWide{grid-column:auto}}
@media (max-width:760px){
  .analysisSubnav{width:100%;display:grid;grid-template-columns:1fr 1fr}.analysisSubnav button{width:100%}
  .analysisInteractionBar{position:sticky;top:0;z-index:4}.analysisInteractionBar button b{font-size:.58rem}
  .fiscalDashHeader{align-items:stretch;flex-direction:column;padding:10px}.fiscalDashFilters{width:100%;display:grid;grid-template-columns:1fr 1fr}.fiscalDashFilters select{width:100%;min-width:0}.fiscalDashKpis{grid-template-columns:1fr 1fr}.fiscalDashKpis article{padding:10px}.fiscalDashKpis b{font-size:1.2rem}.fiscalDashGrid{display:flex;flex-direction:column}.analysisFiscalDashboard{overflow:visible}
  .analysisFiscalMarker{width:30px;height:30px}.analysisFiscalClusterIcon>span{width:42px;height:42px}
  .acervoExtractedText{max-height:260px;font-size:.60rem}.acervoDocActions{position:static;display:flex;flex-direction:column}.acervoDocActions button{width:100%}
}
@media(max-width:430px){.analysisHeaderActions{display:grid;grid-template-columns:1fr 1fr}.analysisHeaderActions .locateBtn{grid-column:1/-1}.fiscalDashKpis{grid-template-columns:1fr 1fr}.fiscalDashFilters{grid-template-columns:1fr}.fiscalDashYears{gap:8px}.fiscalDashYear{min-width:48px}}

/* 0.27.28 - relatório corretivo: editor leve, sem alterar telas estáveis */
#dlgRelatorio{max-width:min(980px,96vw)}
#dlgRelatorio .reportHead{padding-bottom:10px;border-bottom:1px solid #dce5e0}
#dlgRelatorio .reportSourceNote{border-left:3px solid #386b53;background:#f3f7f5}
#dlgRelatorio .reportEditor{display:grid;grid-template-columns:1fr;gap:10px}
#dlgRelatorio .reportActions{border-top:1px solid #dce5e0;padding:12px 0 2px}
@media (max-width:700px){#dlgRelatorio{width:96vw}.reportHead{align-items:flex-start}.reportActions{position:static}}

/* 0.27.28 - Situações históricas de alta confiança */
.historicalTag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#eef1ed;color:#51615a;font-weight:700;font-size:.72rem;letter-spacing:.02em}

/* 0.27.28 — colaboração de equipe e central de avisos */
.notificationButton{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-size:1rem}
.notificationButton:hover{background:rgba(255,255,255,.12)}
.notificationButton b{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#d7f64d;color:#17352b;font-size:.58rem;border:2px solid #10392d}
.notificationPanel{position:absolute;right:74px;top:48px;z-index:300;width:min(390px,calc(100vw - 24px));background:#fff;color:#213a31;border:1px solid #d8e3dd;border-radius:16px;box-shadow:0 16px 48px rgba(9,34,26,.22);overflow:hidden}
.notificationHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #e5ece8}.notificationHead>div{display:flex;flex-direction:column;gap:2px}.notificationHead small{font-size:.54rem;letter-spacing:.12em;color:#6b7e75}.notificationHead b{font-size:.86rem}.notificationHead button{border:0;background:transparent;color:#47705e;font-size:.62rem;font-weight:700}
.notificationList{max-height:430px;overflow:auto}.notificationItem{width:100%;display:grid;grid-template-columns:7px 1fr;gap:10px;padding:12px 14px;border:0;border-bottom:1px solid #edf1ef;background:#fff;text-align:left;color:inherit}.notificationItem:hover{background:#f7faf8}.notificationItem i{width:7px;height:7px;margin-top:6px;border-radius:50%;background:#ccd7d1}.notificationItem.unread i{background:#75a540}.notificationItem.unread{background:#fbfdf8}.notificationItem div{display:flex;flex-direction:column;gap:3px;min-width:0}.notificationItem b{font-size:.68rem}.notificationItem span{font-size:.60rem;color:#52685e;white-space:normal}.notificationItem small{font-size:.54rem;color:#87948e}.notificationEmpty{padding:22px;text-align:center;color:#718279;font-size:.65rem}
.situationWorkspace{display:flex;flex-direction:column;gap:20px}.situationGroup{display:flex;flex-direction:column;gap:10px}.situationGroupHead{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 3px}.situationGroupHead>div{display:flex;flex-direction:column;gap:2px}.situationGroupHead small{font-size:.54rem;letter-spacing:.11em;color:#788981;font-weight:800}.situationGroupHead h2{margin:0;font-size:1rem;color:#173d31}.situationGroupHead>span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#e9f0ec;color:#365b4b;font-size:.66rem;font-weight:800}.situationGroup.priority .situationGroupHead>span{background:#dff376;color:#294b3d}
.operationalCard.mySituation{border-color:#bdd7ca}.myWorkTag{display:inline-flex;padding:2px 6px;border-radius:999px;background:#e9f4ed;color:#2b684e;font-weight:800;font-size:.68rem}
.situationTeamFact button{margin-top:7px;padding:5px 8px;border-radius:8px;border:1px solid #d6e1db;background:#f9fbfa;color:#34624e;font-size:.56rem;font-weight:800}.teamManageDialog{width:min(720px,94vw)}.teamManageIntro{display:flex;flex-direction:column;gap:4px;padding:10px 12px;margin:4px 0 12px;border-left:3px solid #4d8068;background:#f5f8f6}.teamManageIntro b{font-size:.72rem}.teamManageIntro span{font-size:.61rem;color:#63746c}.teamStartBlock .teamFiscalList,.teamManageDialog .teamFiscalList{max-height:360px;overflow:auto}
.diligenceTeamSummary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid #dde6e1;border-radius:11px;background:#f8faf9}.diligenceTeamSummary small{font-size:.53rem;letter-spacing:.08em;color:#728079;font-weight:800}.diligenceTeamSummary>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.diligenceTeamSummary span{font-size:.57rem;padding:4px 7px;border-radius:999px;background:#eaf1ed;color:#3f6253;font-weight:700}
.reportWorkflow{display:flex;flex-direction:column;gap:10px;padding:11px 12px;border:1px solid #dce5e0;border-radius:12px;background:#fbfcfb}.reportWorkflowTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.reportWorkflowTop>div:first-child{display:flex;flex-direction:column;gap:2px}.reportWorkflowTop small{font-size:.52rem;letter-spacing:.1em;color:#77877f;font-weight:800}.reportWorkflowTop b{font-size:.76rem}.reportFlowActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.reportFlowActions button{padding:6px 9px;border:1px solid #cfdcd5;border-radius:8px;background:#fff;color:#315b49;font-size:.58rem;font-weight:800}.reportPeople{display:flex;flex-wrap:wrap;gap:6px}.reportPerson{display:flex;flex-direction:column;gap:1px;min-width:155px;padding:7px 9px;border-radius:9px;background:#eef3f0}.reportPerson.me{outline:1px solid #9dbbaa;background:#f2f8f4}.reportPerson span{font-size:.60rem;font-weight:800}.reportPerson small{font-size:.52rem;color:#718078}
@media(max-width:680px){.notificationPanel{position:fixed;right:8px;left:8px;top:66px;width:auto}.situationGroupHead h2{font-size:.9rem}.reportWorkflowTop{align-items:flex-start;flex-direction:column}.reportFlowActions{justify-content:flex-start}.reportPerson{min-width:calc(50% - 4px)}.diligenceTeamSummary{align-items:flex-start;flex-direction:column}.diligenceTeamSummary>div{justify-content:flex-start}}

/* 0.27.28 — localização universal, pós-vistoria e polimento operacional */
.notificationButton .notificationBell{display:grid;place-items:center;line-height:0}.notificationButton .notificationBell svg{display:block}
.newSituationLocationTools{display:grid;gap:10px;margin:8px 0 10px}.newSituationAddressSearch{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.newSituationAddressSearch input{min-width:0}.newSituationAddressSearch button,.newSituationLocationActions button{min-height:38px;border:1px solid #d5e1db;background:#fff;border-radius:10px;color:#244a3d;font-weight:700;padding:0 12px}.newSituationLocationActions{display:flex;gap:8px;flex-wrap:wrap}.newSituationAddressResults{display:grid;gap:5px;padding:6px;border:1px solid #dbe5e0;border-radius:12px;background:#fff;max-height:190px;overflow:auto}.newSituationAddressResult{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;border-radius:9px;background:#f6f9f7;padding:9px 10px;text-align:left;color:#244138}.newSituationAddressResult:hover{background:#edf5f0}.newSituationAddressResult b{font-size:.72rem}.newSituationAddressResult span{font-size:.62rem;color:#6c7d75}.newSituationMiniMapWrap{border:1px solid #d9e3de;border-radius:13px;background:#fff;padding:8px}.newSituationMiniMapHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 3px 8px;font-size:.68rem;font-weight:800}.newSituationMiniMap{height:235px;border-radius:10px;overflow:hidden;background:#e8efeb}.newSituationMiniMapWrap>small{display:block;margin:7px 3px 1px;color:#74837c;font-size:.58rem}.newSituationLocationBody{border:1px solid #dce5e1;background:#f8faf9;border-radius:11px;padding:10px 12px}
.situationInstrumentRow.clickable{width:100%;border:1px solid #dce5e1;background:#fff;text-align:left;cursor:pointer}.situationInstrumentRow.clickable:hover{border-color:#a9c3b6;background:#f8fbf9}.documentChoiceList{display:grid;gap:8px}.documentChoiceList button{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dae4df;background:#fff;border-radius:10px;padding:11px;text-align:left}.documentChoiceList button span{font-size:.62rem;color:#4c735f}
.situationAdministrativePanel{border-color:#d2dfd8}.administrativeHint{font-size:.58rem;color:#718078;max-width:360px;text-align:right}.adminColumns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adminColumn{border:1px solid #dde6e1;border-radius:13px;background:#f9fbfa;padding:11px;min-width:0}.adminColumnWide{grid-column:1/-1}.adminColumnHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.adminColumnHead>div{display:flex;flex-direction:column;gap:2px}.adminColumnHead small{font-size:.52rem;letter-spacing:.09em;color:#77867e}.adminColumnHead b{font-size:.72rem}.adminColumnHead button{border:1px solid #cbdad2;background:#fff;border-radius:9px;padding:7px 9px;font-size:.59rem;font-weight:800;color:#235340}.adminRows{display:grid;gap:7px}.adminRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e0e7e3;border-left:4px solid #d6dfda;border-radius:9px;background:#fff;padding:9px}.adminRow>div{display:flex;flex-direction:column;gap:2px;min-width:0}.adminRow b{font-size:.66rem}.adminRow span{font-size:.59rem;color:#536a60}.adminRow small{font-size:.55rem;color:#87948e}.adminRow select{font-size:.58rem;border:1px solid #d4ded9;border-radius:8px;background:#fff;padding:6px}.adminRow.pendente{border-left-color:#d7a72e}.adminRow.em_andamento{border-left-color:#477e9d}.adminRow.concluida{border-left-color:#6c9c55}.adminRow.process{border-left-color:#446b5b}.adminRow.forwarding{border-left-color:#7b6aa5}
@media(max-width:760px){.newSituationAddressSearch{grid-template-columns:1fr}.newSituationLocationActions{display:grid;grid-template-columns:1fr 1fr}.newSituationLocationActions .ghost{grid-column:1/-1}.newSituationMiniMap{height:210px}.adminColumns{grid-template-columns:1fr}.adminColumnWide{grid-column:auto}.administrativeHint{text-align:left;max-width:none}.adminRow{grid-template-columns:1fr}.adminRow select{width:100%}}
.adminActionDialog{width:min(680px,calc(100vw - 24px))}.adminActionForm{display:grid;gap:13px;padding:18px}.adminActionForm label{display:grid;gap:6px;font-size:.67rem;font-weight:800;color:#29483d}.adminActionForm input,.adminActionForm select,.adminActionForm textarea{width:100%;border:1px solid #d5e0da;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;font-size:.72rem;color:#203c32}.adminActionForm textarea{resize:vertical}.adminActionNote{padding:10px 12px;border-radius:10px;background:#f1f6f3;color:#5c7067;font-size:.62rem;line-height:1.45}


/* FISCAMB 0.27.28 — refinamento operacional e inteligência fiscal */
.brandBlock{display:flex;align-items:center;gap:10px;min-width:0}.brandShield{width:34px;height:34px;object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}.brandText{display:flex;align-items:baseline;gap:9px;min-width:0}.brandText strong{white-space:nowrap}.brandText span{margin-left:0!important;white-space:nowrap}
.notificationButton{align-self:center}.notificationButton .notificationBell{width:100%;height:100%;display:grid!important;place-items:center!important}.notificationButton .notificationBell svg{margin:0!important;transform:translateY(-.5px)}
.fieldSyncPanel.syncClean{min-height:auto}.fieldSyncPanel.syncClean .fieldPanelHead{margin-bottom:2px}.fieldSyncPanel.syncClean #syncMensagem{font-size:.62rem;color:#718078}.fieldSyncPanel.syncPending{border-color:#e2c46d;background:#fffdf7}.fieldSyncPanel #pendingSyncBadge{min-width:28px;height:28px;border-radius:999px;background:#eaf2ee;color:#355c4c;display:grid;place-items:center;font-size:.68rem}.fieldSyncPanel #pendingSyncBadge.hidden{display:none}
.campoReturnBar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 13px;margin:0 0 12px;border:1px solid #cfe0d7;border-radius:13px;background:#f7fbf8}.campoReturnBar>div{display:flex;flex-direction:column;gap:2px;min-width:0}.campoReturnBar small{font-size:.52rem;letter-spacing:.1em;color:#6b7d74;font-weight:800}.campoReturnBar b{font-size:.68rem;color:#294a3c}.campoReturnBar button{padding:8px 11px;border-radius:9px;font-size:.63rem;font-weight:800;color:#245341;background:#fff;border:1px solid #cbdcd3}.campoReturnBar.hidden{display:none}
/* chips territoriais: mais informação em menos altura */
.insightChip{padding:5px 8px!important;font-size:.60rem!important;line-height:1.05!important;min-height:0!important}.insightChip::before{font-size:.62rem!important;margin-right:3px!important}
.analysisBufferRadius{border:1px solid #d4dfda;border-radius:8px;background:#fff;color:#27483c;padding:6px 8px;font-size:.60rem;font-weight:700}.analysisBufferRadius.hidden{display:none}
.fiscalDashFilters{align-items:end}.fiscalDashAutuadoFilter{min-width:min(280px,42vw)}.fiscalDashAutuadoFilter input{margin-top:5px;min-width:220px;padding:9px 10px;border-radius:9px;font-size:.68rem}.fiscalDashEntityRow{width:100%;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:inherit}.fiscalDashEntityRow:hover{background:#f4f8f5}.fiscalDashPanelHead>span{font-size:.54rem;color:#7b8983}
@media(max-width:700px){.brandShield{width:30px;height:30px}.brandText{gap:6px}.campoReturnBar{align-items:stretch;flex-direction:column}.campoReturnBar button{width:100%}.fiscalDashAutuadoFilter{min-width:100%}.fiscalDashAutuadoFilter input{min-width:0}.insightChip{font-size:.58rem!important;padding:4px 7px!important}}


/* FISCAMB 0.27.29 — polimento territorial e ações contextuais */
.notificationButton .notificationBell{position:absolute;inset:0;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
.notificationButton .notificationBell svg{display:block!important;width:21px;height:21px;margin:0!important;transform:none!important}
.analysisPointActions .analysisSituationAction{background:#d7f64d!important;border-color:#c6e641!important;color:#173d31!important;font-weight:850!important}
.analysisPointActions .analysisSituationAction:hover{background:#caed38!important}
.analysisPointActions [data-point-streetview]{border-color:#bfd5ca;background:#f5faf7;color:#285a45}
.coastReferenceItem .mapTargetBtn{font-weight:800}

/* 0.27.30 · refinamentos operacionais */
.notificationButton{border:0!important;background:transparent!important;border-radius:0!important;width:40px!important;height:40px!important;padding:0!important;box-shadow:none!important}
.notificationButton:hover{background:transparent!important;color:#d7f64d!important}
.analysisLegend{left:auto!important;right:10px!important;bottom:10px!important}
.acervoExtractedText{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:.78rem!important;line-height:1.72!important;font-weight:400!important;letter-spacing:.005em!important;padding:16px!important;background:#fff!important;color:#20372e!important}
.digitalizacaoDialog{width:min(94vw,820px)!important;max-height:90vh!important}
.digitalizacaoBody,.digitalizacaoReview{padding:16px;display:flex;flex-direction:column;gap:14px}
.digitalizacaoForm{display:flex;flex-direction:column;gap:12px}.digitalizacaoForm label{display:flex;flex-direction:column;gap:5px;font-size:.68rem;font-weight:700;color:#486056}.digitalizacaoForm input,.digitalizacaoForm select{min-height:42px;border:1px solid #d9e2dd;border-radius:10px;padding:9px 11px;background:#fff;font:inherit;color:#17352b}
.digitalizacaoCaptureBox{border:2px dashed #b9cbc3!important;border-radius:14px;padding:18px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;cursor:pointer;background:#f7faf8}.digitalizacaoCaptureBox input{position:absolute;opacity:0;pointer-events:none}.digitalizacaoCaptureBox .digitalizacaoCaptureIcon{grid-row:1/3;width:40px;height:40px;border-radius:10px;background:#eaf4ef;display:grid;place-items:center;font-size:1.35rem}.digitalizacaoCaptureBox b{align-self:end}.digitalizacaoCaptureBox small{align-self:start;color:#718078;font-weight:500}.digitalizacaoPreview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e0e8e4;border-radius:12px;background:#fbfdfc}.digitalizacaoPreview img{width:96px;height:120px;object-fit:contain;background:#101313;border-radius:8px}.digitalizacaoPdfPreview{width:72px;height:92px;display:grid;place-items:center;background:#edf2ef;border-radius:8px;font-weight:900}.digitalizacaoQrState{padding:10px 12px;border-radius:10px;background:#eef8e9;border:1px solid #cfe7c4;display:flex;flex-direction:column;gap:2px}.digitalizacaoQrState span{font-size:.62rem;word-break:break-all;color:#5c6e65}.checkLine{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important}.checkLine input{min-height:0!important;width:18px;height:18px}.digitalizacaoActions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.digitalizacaoActions button{min-height:42px}.qrTalaoPanel{border-top:1px solid #e3e9e6;padding-top:12px}.qrTalaoPanel summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.qrTalaoPanel summary span{font-size:.64rem;color:#718078}.qrTalaoGrid{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:8px;margin:12px 0}.qrTalaoGrid label{font-size:.63rem;display:flex;flex-direction:column;gap:4px}.qrTalaoGrid input,.qrTalaoGrid select{min-height:38px;border:1px solid #d9e2dd;border-radius:9px;padding:7px}.digitalizacaoOriginal{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;background:#f7faf8;border:1px solid #dce6e1}.digitalizacaoOriginal img{width:120px;height:150px;object-fit:contain;background:#111;border-radius:8px}.digitalizacaoOriginal>div{display:flex;flex-direction:column;gap:4px}.ocrState{font-size:.65rem;padding:5px 8px;border-radius:999px;background:#eef2f0;width:max-content}.ocrState.concluido{background:#e7f5e8;color:#215c34}.ocrState.indisponivel{background:#fff4d9;color:#72520a}.ocrExtract{border:1px solid #dfe7e3;border-radius:10px;padding:10px}.ocrExtract summary{cursor:pointer;font-weight:700}.ocrExtract div{margin-top:10px;max-height:220px;overflow:auto;font-size:.78rem;line-height:1.55;font-weight:400;color:#32463d}
@media(max-width:700px){.qrTalaoGrid{grid-template-columns:1fr 1fr}.digitalizacaoOriginal{align-items:flex-start}.digitalizacaoOriginal img{width:92px;height:118px}.digitalizacaoActions{flex-direction:column}.digitalizacaoActions button{width:100%}.analysisLegend{right:7px!important;left:auto!important}}
@media(min-width:900px){.fieldPrimaryActions{grid-template-columns:1.25fr 1fr 1fr 1fr 1.15fr!important}}
.fieldActionScan{border-color:#b6ccc1!important;background:#f7fbf9!important}
.situacaoMinimizedDock{position:fixed;right:18px;bottom:18px;z-index:1600;max-width:min(420px,calc(100vw - 36px));height:48px;border:1px solid #b7c9c1;border-radius:14px;background:#10392d;color:#fff;display:flex;align-items:center;gap:9px;padding:0 14px;box-shadow:0 10px 26px #0003}.situacaoMinimizedDock span{font-size:1.2rem}.situacaoMinimizedDock b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem}.situacaoMinimizedDock:hover{background:#174d3e}
@media(max-width:650px){.situacaoMinimizedDock{left:12px;right:12px;bottom:12px;max-width:none}}
.situationInstrumentActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.situationInstrumentActions .scanAction{background:#eaf5ef;border-color:#bad1c6;color:#17483a}


/* 0.29.4 · consolidação operacional premium */
.operationalStats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.operationalStats .statCard{appearance:none;text-align:left;border:1px solid #d8e3dd;background:#fff;color:inherit;border-radius:18px;padding:20px 22px;min-width:0;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.operationalStats .statCard b{display:block;font-size:1.65rem;line-height:1}.operationalStats .statCard span{display:block;margin-top:8px;font-size:.9rem;color:#5f776c}.operationalStats .statCard small{display:block;margin-top:5px;font-size:.58rem;color:#90a097}
.operationalStats .statCard:hover,.operationalStats .statCard.active{border-color:#80a08f;box-shadow:0 5px 18px rgba(17,57,45,.07);transform:translateY(-1px)}
.analysisHeaderCompact{min-height:0!important;padding-top:8px!important;padding-bottom:6px!important;justify-content:flex-end!important}.analysisHeaderCompact .analysisHeaderActions{margin-left:auto}.analysisHeaderCompact+.analysisSubnav{margin-top:0!important}
.userAvatar{background-size:cover;background-position:center;background-repeat:no-repeat}.userAvatar.hasPhoto{font-size:0!important}
.profileDialog{width:min(560px,calc(100vw - 24px));border:0;border-radius:20px;padding:0}.profileDialog::backdrop{background:rgba(9,34,26,.72)}
.profileEditor{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:center;padding:22px}.profileAvatarLarge{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:#d9ef70;color:#17352b;font-size:1.65rem;font-weight:900;background-size:cover;background-position:center}.profileAvatarLarge.hasPhoto{font-size:0}.profileInfo{display:flex;flex-direction:column;gap:4px}.profileInfo b{font-size:1rem}.profileInfo span,.profileInfo small{color:#6d8177}.profilePhotoPicker{grid-column:1/3;border:1px dashed #aabeb4;border-radius:12px;min-height:46px;display:grid;place-items:center;cursor:pointer;background:#f8fbf9;font-weight:800}.profilePhotoPicker input{position:absolute;opacity:0;pointer-events:none}
.attentionPulse{animation:fiscambAttention 1.2s ease 1}@keyframes fiscambAttention{0%,100%{box-shadow:none}40%{box-shadow:0 0 0 4px rgba(211,242,79,.55)}}
.acervoMiniPreview{display:flex;align-items:center;gap:14px;padding:12px 0}.acervoMiniPreview img{width:150px;height:190px;object-fit:contain;border-radius:10px;background:#111;border:1px solid #d9e3de}.acervoMiniPreview button{align-self:flex-end}
.acervoTextSearch{width:100%;min-height:42px;border:1px solid #dbe5e0;border-radius:10px;padding:9px 12px;margin:8px 0 10px;font:inherit}.acervoExtractedText{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif!important;font-size:.78rem!important;line-height:1.7!important;white-space:pre-wrap!important;color:#263c33!important}.acervoExtractedText mark{background:#e7f796;border-radius:3px;padding:1px 2px}.acervoRelationGroup{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}.acervoRelationGroup>small{color:#718179;font-size:.62rem}.acervoRelationCandidates{border:1px solid #e2e9e5;border-radius:10px;padding:10px}.acervoRelationCandidates summary{cursor:pointer;font-weight:750;color:#526a5f}
@media(max-width:760px){.operationalStats{grid-template-columns:repeat(2,minmax(0,1fr))}.operationalStats .statCard{padding:15px}.profileEditor{grid-template-columns:82px minmax(0,1fr)}.profileAvatarLarge{width:76px;height:76px}.acervoMiniPreview img{width:110px;height:145px}}


/* ==========================================================================
   FISCAMB 0.29.4 · MOBILE FIRST — o celular é ferramenta principal de campo
   Mantém o desktop intacto e redefine a composição abaixo de 760px.
   ========================================================================== */

.analysisMobileClose,.analysisMobileBackdrop{display:none}

@media (max-width:760px){
  :root{--mobile-gap:10px;--mobile-radius:16px}
  html{-webkit-text-size-adjust:100%;scroll-padding-top:64px}
  body{overflow-x:hidden}
  button,.tab,[role="button"],select{touch-action:manipulation}
  button,select{min-height:44px}
  input,select,textarea{font-size:16px} /* evita zoom automático no iOS/Android */

  /* Cabeçalho compacto e alinhado */
  .topbar{
    padding:10px 14px!important;
    min-height:70px;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  .brandBlock{gap:9px;min-width:0;align-items:center}
  .brandShield{
    width:38px!important;height:38px!important;
    flex:0 0 38px;object-fit:contain!important;
    object-position:center!important;margin:0!important;
  }
  .brandText{gap:7px;align-items:baseline}
  .brandText strong{font-size:1.34rem!important;line-height:1;letter-spacing:.075em!important}
  .brandText span{font-size:.78rem!important;line-height:1;opacity:.68}
  .topbarRight{margin-left:auto;gap:6px;align-items:center!important}
  .topbarRight>small{display:none}
  .notificationButton{width:44px!important;height:44px!important;flex:0 0 44px!important}
  .notificationButton .notificationBell svg{width:23px!important;height:23px!important}
  .userMenuButton{
    min-width:62px;max-width:92px;min-height:48px!important;
    padding:5px 8px!important;border-radius:14px!important;
    justify-content:center;gap:6px!important;
  }
  .userAvatar{width:34px!important;height:34px!important;font-size:.72rem!important;flex:0 0 34px}
  .userIdentity{display:none!important}
  .userMenuButton>span:last-child{margin:0!important;font-size:.78rem}
  .userMenu{position:fixed!important;top:72px!important;right:10px!important;left:auto!important;min-width:220px;z-index:2600}
  .notificationPanel{position:fixed!important;top:72px!important;left:10px!important;right:10px!important;width:auto!important;max-height:min(66dvh,560px);overflow:auto;z-index:2600}

  /* Navegação principal: tocável, sem esmagar labels */
  .navtabs{
    position:sticky;top:0;z-index:1200;
    gap:4px!important;padding:7px 8px!important;
    overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .navtabs::-webkit-scrollbar{display:none}
  .navtabs .tab{
    flex:0 0 auto!important;
    min-height:46px!important;
    padding:9px 14px!important;
    border-radius:13px!important;
    white-space:nowrap;font-size:.88rem;
  }

  main{padding:10px!important;width:100%;max-width:none!important}

  /* SITUAÇÕES */
  #tab-situacoes .hero{
    padding:16px!important;border-radius:18px!important;
    gap:13px!important;align-items:stretch!important;
  }
  #tab-situacoes .hero h1{font-size:1.62rem!important;line-height:1.02}
  #tab-situacoes .hero p:not(.eyebrow){font-size:.84rem;line-height:1.35}
  #tab-situacoes .hero #btnNova{width:100%;min-height:48px}
  .operationalStats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:10px 0!important}
  .operationalStats .statCard{padding:14px!important;border-radius:16px!important;min-height:112px}
  .operationalStats .statCard b{font-size:1.8rem}
  .operationalStats .statCard span{font-size:.86rem}
  .situationToolbar{
    display:grid!important;grid-template-columns:1fr 1fr!important;
    gap:8px!important;margin:10px 0 14px!important;
  }
  .situationToolbar #busca{grid-column:1/-1;min-width:0!important}
  .situationToolbar #btnAtualizar{grid-column:1/-1;width:100%;min-height:44px}
  .situationWorkspace{gap:14px!important}
  .situationGroup{gap:8px!important}
  .situationGroupHead{align-items:center!important}
  .operationalCard{border-radius:17px!important;padding:15px!important}
  .operationalCard h3,.operationalCard .cardTitle{font-size:1.05rem!important;line-height:1.22!important}
  .cardMeta,.situationTeam,.instrumentChips{gap:5px!important}
  .cardMeta span,.situationTeam span,.myWorkTag{font-size:.62rem!important}

  /* CAMPO */
  .fieldHero{padding:16px!important;border-radius:18px!important;display:block!important}
  .fieldHero h1{font-size:1.55rem!important}
  .fieldHero p{font-size:.82rem}
  .fieldIdentity{margin-top:12px;min-width:0!important}
  .fieldPrimaryActions{
    grid-template-columns:1fr 1fr!important;gap:8px!important;margin:10px 0!important
  }
  .fieldPrimaryActions button{
    min-height:74px!important;grid-template-columns:30px minmax(0,1fr)!important;
    gap:7px!important;padding:10px!important;border-radius:14px!important
  }
  .fieldPrimaryActions button>span{width:30px!important;height:30px!important}
  .fieldPrimaryActions button b{font-size:.72rem!important}
  .fieldPrimaryActions button small{font-size:.57rem!important}
  .fieldWorkspace{grid-template-columns:1fr!important;gap:10px!important}
  .fieldPanel{border-radius:16px!important;padding:12px!important}
  .fieldSituation{min-height:58px;padding:10px!important}
  .fieldActionScan{grid-column:1/-1}

  /* TERRITÓRIO — mapa primeiro, ficha legível logo abaixo */
  .territoryHeader{
    gap:9px!important;margin-bottom:8px!important;align-items:stretch!important;
  }
  .territoryTitle{display:none!important}
  .territoryActions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%
  }
  .territoryActions button{width:100%!important;min-width:0!important;padding:8px!important;font-size:.72rem!important}
  #territorioCriarSituacao{grid-column:1/-1}
  .territoryLayout{display:flex!important;flex-direction:column!important;gap:8px!important}
  .mapWrap{
    width:100%;min-height:340px!important;height:44dvh!important;max-height:520px!important;
    border-radius:18px!important
  }
  #map{height:100%!important;min-height:340px!important}
  .territoryCard{
    max-height:none!important;width:100%;border-radius:18px!important;overflow:visible!important
  }
  .territoryCardHead{padding:14px!important;position:relative!important}
  .territoryFicha{padding:0 12px 12px!important}
  #territorioFicha details summary{padding:10px 0!important;min-height:48px}
  #territorioFicha details summary small{
    max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
  }
  .locationHero{padding:12px!important}
  .territoryScopeTabs{position:sticky;top:60px;z-index:4;background:#fff;padding:7px 10px!important}
  .leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important;font-size:24px!important}

  /* ANÁLISE — mapa protagonista; camadas viram gaveta */
  body.analysisMode{overflow:auto!important}
  body.analysisMode main{height:auto!important;padding:8px!important;overflow:visible!important}
  body.analysisMode #tab-analise.active{height:auto!important;display:block!important;overflow:visible!important}
  .analysisHeaderCompact{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    gap:6px!important;margin:0 0 6px!important;padding:0!important
  }
  .analysisHeaderActions{
    width:100%!important;display:grid!important;grid-template-columns:1fr 1fr 1.18fr!important;gap:6px!important
  }
  .analysisHeaderActions button{
    width:100%;min-width:0!important;min-height:44px!important;
    padding:7px 6px!important;font-size:.68rem!important;overflow:hidden;text-overflow:ellipsis
  }
  .analysisSubnav{
    width:100%!important;margin:0!important;padding:3px!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important
  }
  .analysisSubnav button{min-height:40px!important;padding:6px 8px!important;font-size:.69rem!important}
  .analysisWorkspace,.analysisWorkspace.sidebarCollapsed{
    display:block!important;position:relative!important;min-height:0!important
  }
  .analysisMapColumnV2{
    height:min(68dvh,720px)!important;min-height:480px!important;
    border-radius:18px!important;overflow:hidden!important
  }
  .analysisMapWrap,#analysisMap{height:100%!important;min-height:480px!important}
  .analysisSidebarV2{
    display:flex!important;position:fixed!important;
    z-index:2200!important;left:8px!important;right:8px!important;top:78px!important;bottom:10px!important;
    width:auto!important;height:auto!important;max-height:none!important;
    border-radius:18px!important;opacity:1!important;pointer-events:auto!important;
    box-shadow:0 22px 70px rgba(0,0,0,.30)!important;
    transform:translateY(0);transition:transform .18s ease,opacity .18s ease!important
  }
  .analysisWorkspace.sidebarCollapsed .analysisSidebarV2{
    display:flex!important;transform:translateY(110%)!important;opacity:0!important;
    pointer-events:none!important;border-width:1px!important
  }
  .analysisMobileClose{display:inline-flex!important;align-items:center;justify-content:center}
  .analysisMobileBackdrop{
    display:block!important;position:fixed!important;inset:0!important;z-index:2150!important;
    border:0!important;border-radius:0!important;background:rgba(8,28,22,.46)!important;
    width:100%!important;height:100%!important;padding:0!important
  }
  .analysisMobileBackdrop.hidden{display:none!important}
  body.analysisDrawerOpen{overflow:hidden!important}
  .analysisSidebarHead{padding:11px 12px!important}
  .analysisInteractionBar{padding:8px!important}
  .analysisInteractionBar button{min-height:44px!important;font-size:.66rem!important}
  .analysisSidebarSearch{padding:8px!important}
  .analysisLayerList{max-height:none!important;flex:1 1 auto!important}
  .analysisMapTools{
    left:auto!important;right:7px!important;top:7px!important;
    max-width:calc(100% - 58px)!important;display:flex!important;overflow-x:auto!important;
    border-radius:13px!important;scrollbar-width:none
  }
  .analysisMapTools::-webkit-scrollbar{display:none}
  .analysisMapTools button{min-width:42px!important;min-height:42px!important;padding:7px!important}
  .analysisMapStatus{left:54px!important;top:7px!important}
  .analysisPointPanel{
    top:auto!important;bottom:8px!important;left:8px!important;right:8px!important;
    width:auto!important;max-height:54%!important;border-radius:18px!important;padding:12px!important
  }
  .analysisPointGrid{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .analysisPointActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .analysisPointActions button{min-height:42px!important;min-width:0!important}
  .analysisLegend{right:8px!important;left:auto!important;bottom:8px!important;max-width:min(210px,62vw)!important}
  .analysisFiscalDashboard{padding:0!important}
  .fiscalDashKpis{grid-template-columns:1fr 1fr!important}
  .fiscalDashGrid{grid-template-columns:1fr!important}
  .fiscalDashFilters{display:grid!important;grid-template-columns:1fr 1fr!important}
  .fiscalDashAutuadoFilter{grid-column:1/-1!important;min-width:0!important}
  .fiscalDashAutuadoFilter input{width:100%!important;min-width:0!important}

  /* ACERVO — leitura e busca primeiro */
  .acervoHero{
    padding:16px!important;border-radius:18px!important;
    display:block!important
  }
  .acervoHero h1{font-size:1.75rem!important}
  .acervoHero p{font-size:.82rem!important;line-height:1.38!important}
  .acervoHero #acervoIndexar{width:100%;margin-top:12px;min-height:46px}
  .acervoStats{grid-template-columns:1fr 1fr!important;gap:8px!important;margin:9px 0!important}
  .acervoStats article{padding:11px!important;min-height:88px}
  .acervoStats .acervoReviewStat{grid-column:1/-1}
  .acervoSourceState{grid-template-columns:1fr!important;gap:7px!important}
  .acervoToolbar{grid-template-columns:1fr 1fr!important;gap:7px!important;margin:9px 0 12px!important}
  .acervoToolbar #acervoBusca{grid-column:1/-1;min-width:0!important}
  .acervoToolbar select{min-width:0!important;width:100%!important}
  .acervoWorkspace{grid-template-columns:1fr!important;gap:10px!important}
  .acervoList{grid-template-columns:1fr!important}
  .acervoDocCard{border-radius:15px!important;padding:12px!important}
  .acervoMatchesPanel{order:2}
  .acervoMiniPreview{align-items:flex-start!important}
  .acervoExtractedText{font-size:.92rem!important;line-height:1.62!important}

  /* MODAIS e janelas: cabem no touch */
  dialog{
    width:calc(100vw - 16px)!important;max-width:none!important;
    max-height:92dvh!important;border-radius:18px!important
  }
  dialog::backdrop{background:rgba(8,28,22,.62)}
  .modal,.situationDialog,.acervoDialog,.digitalizacaoDialog{max-width:none!important}
  .dialogHead,.modalHead{position:sticky;top:0;z-index:5;background:#fff}
  .documentChoiceList button,.userMenu button,.notificationItem{min-height:46px}
  .situacaoMinimizedDock{left:8px!important;right:8px!important;bottom:8px!important;height:52px!important}

  /* Segurança contra overflow horizontal */
  img,svg,video,canvas{max-width:100%}
  .mono,.cardInternalRef,.territoryCardHead strong{overflow-wrap:anywhere}
  .toolbar,.cardTopline,.sectionTitleRow{min-width:0}
}

@media (max-width:430px){
  .brandShield{width:34px!important;height:34px!important;flex-basis:34px}
  .brandText strong{font-size:1.18rem!important}
  .brandText span{font-size:.68rem!important}
  .navtabs .tab{padding:8px 12px!important;font-size:.82rem}
  .analysisHeaderActions{grid-template-columns:.95fr .9fr 1.15fr!important}
  .analysisHeaderActions button{font-size:.62rem!important}
  .analysisMapColumnV2{min-height:440px!important}
  .analysisMapWrap,#analysisMap{min-height:440px!important}
  .fieldPrimaryActions{grid-template-columns:1fr!important}
  .fieldActionScan{grid-column:auto}
  .situationToolbar{grid-template-columns:1fr!important}
  .situationToolbar #busca,.situationToolbar #btnAtualizar{grid-column:auto}
  .acervoToolbar{grid-template-columns:1fr!important}
  .acervoToolbar #acervoBusca{grid-column:auto}
}


/* ========================================================================== 
   FISCAMB 0.29.4 · Identidade institucional + perfil do fiscal
   ========================================================================== */
.loginScreen{
  position:fixed;inset:0;z-index:5000;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% -10%,rgba(36,101,146,.10),transparent 38%),
    linear-gradient(180deg,#f8faf9 0%,#eef4f1 100%)!important;
  padding:22px 34px!important;overflow:auto;
}
.loginFlagBand{position:fixed;top:0;bottom:0;width:14px;z-index:0;opacity:.96;box-shadow:0 0 28px rgba(0,0,0,.04)}
.loginFlagBandGreen{left:0;background:#2f6b4f}
.loginFlagBandBlue{right:0;background:#1f5278}
.loginInstitutionalShell{position:relative;z-index:1;width:min(480px,100%);display:flex;flex-direction:column;align-items:stretch;gap:12px}
.loginInstitutionalHeader{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 18px 0}
.loginMunicipalCrest{width:104px;height:105px;object-fit:contain;display:block;filter:drop-shadow(0 6px 12px rgba(24,55,45,.08))}
.loginInstitutionalIdentity{display:flex;flex-direction:column;align-items:center;margin-top:9px;color:#17372d}
.loginInstitutionalIdentity strong{font-size:2rem;letter-spacing:.14em;line-height:1;font-weight:900}
.loginInstitutionalIdentity span{margin-top:7px;font-size:.82rem;font-weight:800;color:#294e40}
.loginInstitutionalIdentity small{margin-top:2px;font-size:.66rem;color:#6e7f77;font-weight:650}
.loginInstitutionalRule{width:76px;height:3px;border-radius:999px;background:#b58b4a;margin:0 auto 1px;opacity:.86}
.loginCard{width:100%!important;border:1px solid #d8e3dd;border-radius:22px!important;background:#fff;overflow:hidden;box-shadow:0 22px 60px rgba(28,57,47,.14)!important}
.loginCard .loginBody{padding:22px 24px 20px}
.loginAccessTitle{text-align:center;margin-bottom:15px}
.loginAccessTitle .eyebrow{margin:0 0 4px!important;color:#557268!important}
.loginAccessTitle h1{margin:0;font-size:1.5rem;color:#17372d}
.loginAccessTitle p.muted{margin:7px auto 0;max-width:360px;font-size:.69rem;line-height:1.42}
.loginBody label{display:grid;gap:6px;font-size:.68rem;font-weight:800;color:#29483d;margin-top:11px}
.loginFiscalRow{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px}
.loginBody select,.loginBody input{min-height:46px;border:1px solid #cfddd6;border-radius:11px;background:#fff;color:#17372d;padding:10px 11px;font:inherit;font-size:.77rem}
.loginMatriculaBox{min-height:46px;border:1px solid #e0e7e3;border-radius:11px;background:#f6f9f7;padding:7px 10px;display:flex;flex-direction:column;justify-content:center}
.loginMatriculaBox small{font-size:.49rem;letter-spacing:.08em;color:#829088;text-transform:uppercase}.loginMatriculaBox b{font-size:.68rem;color:#315548;margin-top:2px}
.loginFirstAccess{display:flex!important;flex-direction:column;gap:2px;margin:11px 0 0!important;padding:10px 12px!important;border:1px solid #d7e5ad!important;border-radius:11px!important;background:#f6fae9!important;color:#3e5a30!important}
.loginFirstAccess.hidden{display:none!important}.loginFirstAccess b{font-size:.68rem}.loginFirstAccess span{font-size:.59rem;line-height:1.35}
.loginPrimary{min-height:48px!important;margin-top:13px!important;border-radius:12px!important;font-weight:900!important}
.loginMessage{text-align:center;font-size:.66rem;min-height:20px!important;margin-top:8px!important}
.loginFoot{text-align:center!important;font-size:.54rem!important;color:#85938c!important;line-height:1.35!important}

.profileSecurity{border-top:1px solid #e2e9e5;padding:18px 22px 22px;background:#fbfcfb}
.profileSecurityHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.profileSecurityHead>div{display:flex;flex-direction:column;gap:2px}.profileSecurityHead small{font-size:.52rem;letter-spacing:.1em;color:#75867d;font-weight:850}.profileSecurityHead h3{margin:0;font-size:1rem;color:#173c30}.profileSecurityHead>span{font-size:.58rem;color:#7b8982;text-align:right}
.profilePinForm{display:grid;grid-template-columns:1fr 1fr;gap:9px 10px}.profilePinForm label{display:grid;gap:5px;font-size:.62rem;font-weight:800;color:#345748}.profilePinForm label:first-child{grid-column:1/-1}.profilePinForm input{width:100%;min-height:42px;border:1px solid #d4dfda;border-radius:10px;padding:9px 10px;font:inherit;color:#17372d;background:#fff}.profilePinSave{grid-column:1/-1;min-height:43px}.profilePinMessage{grid-column:1/-1;min-height:16px;font-size:.60rem}.profilePinMessage.error{color:#a14337}.profilePinMessage.success{color:#276540}.profileRemovePhoto{grid-column:1/3;border:0;background:transparent;color:#86564d;padding:7px;font-size:.62rem;font-weight:800}

@media(max-width:600px){
  .loginScreen{padding:14px 22px!important;place-items:start center}
  .loginInstitutionalShell{padding-top:max(8px,env(safe-area-inset-top))}
  .loginFlagBand{width:8px}
  .loginMunicipalCrest{width:78px;height:79px}
  .loginInstitutionalIdentity{margin-top:6px}.loginInstitutionalIdentity strong{font-size:1.55rem}.loginInstitutionalIdentity span{font-size:.72rem}.loginInstitutionalIdentity small{font-size:.59rem}
  .loginInstitutionalRule{height:2px;margin-bottom:0}.loginCard{border-radius:18px!important}.loginCard .loginBody{padding:17px 16px 16px}.loginAccessTitle h1{font-size:1.28rem}.loginAccessTitle p.muted{font-size:.63rem}
  .loginFiscalRow{grid-template-columns:1fr}.loginMatriculaBox{min-height:40px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.loginMatriculaBox b{margin:0;text-align:right}
  .loginBody select,.loginBody input{font-size:16px}.loginFoot{font-size:.50rem!important}
  .profileSecurity{padding:15px 14px 18px}.profileSecurityHead{align-items:flex-start;flex-direction:column}.profileSecurityHead>span{text-align:left}.profilePinForm{grid-template-columns:1fr}.profilePinForm label:first-child,.profilePinSave,.profilePinMessage{grid-column:auto}.profileRemovePhoto{grid-column:1/-1}
}


/* 0.29.4 · hotfix visual do login
   Retorna à composição compacta anterior e aplica identidade municipal em azul colonial. */
.loginScreen{
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(145deg,#244f72,#1f4768 55%,#173d5b)!important;
}
.loginFlagBand,.loginInstitutionalShell,.loginInstitutionalHeader,
.loginInstitutionalIdentity,.loginInstitutionalRule,.loginMunicipalCrest,.loginAccessTitle{
  display:none!important;
}
.loginCard{
  width:min(440px,100%)!important;
  background:#fff!important;
  border:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 26px 80px rgba(5,23,38,.34)!important;
}
.loginBrandMunicipal{
  min-height:128px;
  padding:20px 24px!important;
  background:#244f72!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.loginBrandMunicipal img{
  display:block;
  width:min(100%,360px);
  max-height:88px;
  object-fit:contain;
}
.loginCard .loginBody{padding:24px!important}
.loginBody h1{margin:.1rem 0 .35rem!important;color:#17372d}
.loginBody>p{margin:.2rem 0 1rem!important;line-height:1.35}
.loginBody label{
  display:grid;
  gap:6px;
  margin-top:11px;
  font-size:.68rem;
  font-weight:800;
  color:#29483d;
}
.loginFiscalRow{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px}
.loginBody select,.loginBody input{
  width:100%;
  min-height:46px;
  border:1px solid #cfddd6;
  border-radius:11px;
  background:#fff;
  color:#17372d;
  padding:10px 11px;
  font:inherit;
  font-size:.77rem;
}
.loginMatriculaBox{
  min-height:46px;
  border:1px solid #e0e7e3;
  border-radius:11px;
  background:#f6f9f7;
  padding:7px 10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.loginPrimary{width:100%;min-height:48px!important;margin-top:13px!important}
.loginMessage{text-align:left!important;min-height:22px!important;margin-top:8px!important;font-size:.75rem!important}
.loginFoot{display:block;margin-top:10px!important;text-align:left!important;color:#87928d!important;font-size:.61rem!important;line-height:1.35!important}

@media(max-width:600px){
  .loginScreen{padding:14px!important}
  .loginCard{border-radius:20px!important}
  .loginBrandMunicipal{min-height:104px;padding:16px 18px!important}
  .loginBrandMunicipal img{max-height:72px;width:min(100%,310px)}
  .loginCard .loginBody{padding:19px 17px 17px!important}
  .loginFiscalRow{grid-template-columns:1fr!important}
}


/* 0.29.4 · teste visual login dividido */
.loginCard{width:min(760px,calc(100vw - 28px))!important}
.loginBrandMunicipal{min-height:118px!important}
.loginBrandMunicipal img{width:min(100%,390px)!important;max-height:82px!important}

.loginSplit{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);
  background:#fff;
}
.loginSplitForm{min-width:0}
.loginSplitForm .loginBody{padding:28px 30px 24px!important}
.loginSplitForm .loginBody label:first-child{margin-top:0!important}
.loginSplitIdentity{
  border-left:1px solid #d9e2de;
  min-height:300px;
  padding:26px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:linear-gradient(180deg,#fbfcfb,#f3f7f5);
}
.loginSplitIdentity img{
  width:128px;
  height:128px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(24,55,45,.10));
}
.loginSplitIdentity b{
  margin-top:14px;
  font-size:.86rem;
  color:#17372d;
  letter-spacing:.02em;
}
.loginSplitIdentity span{
  margin-top:5px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.18em;
  color:#65776f;
}
.loginInstitutionalFooter{
  border-top:1px solid #dfe6e2;
  background:#f8faf9;
  padding:10px 18px 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:4px 8px;
  color:#687a72;
  text-align:center;
}
.loginInstitutionalFooter span,
.loginInstitutionalFooter b{
  font-size:.56rem;
  line-height:1.3;
}
.loginInstitutionalFooter span::after{
  content:"·";
  margin-left:8px;
  color:#9aa7a1;
}
.loginInstitutionalFooter b{font-weight:800;color:#476055}
.loginFoot{display:none!important}

/* remove títulos/textos descritivos do experimento anterior */
.loginAccessTitle,.loginBody>.eyebrow,.loginBody>h1,.loginBody>p.muted{display:none!important}

@media(max-width:680px){
  .loginCard{width:min(440px,calc(100vw - 24px))!important}
  .loginBrandMunicipal{min-height:96px!important;padding:14px 16px!important}
  .loginBrandMunicipal img{max-height:66px!important;width:min(100%,300px)!important}
  .loginSplit{grid-template-columns:1fr}
  .loginSplitForm .loginBody{padding:20px 17px 15px!important}
  .loginSplitIdentity{
    border-left:0;
    border-top:1px solid #d9e2de;
    min-height:auto;
    padding:14px 16px 16px;
    flex-direction:row;
    gap:10px;
    justify-content:center;
  }
  .loginSplitIdentity img{width:56px;height:56px}
  .loginSplitIdentity b{margin-top:0;font-size:.72rem}
  .loginSplitIdentity span{margin-top:0;font-size:.56rem}
  .loginInstitutionalFooter{padding:9px 12px 10px}
  .loginInstitutionalFooter span,
  .loginInstitutionalFooter b{font-size:.52rem}
}

@media(max-width:430px){
  .loginFiscalRow{grid-template-columns:1fr!important}
  .loginSplitIdentity{display:grid;grid-template-columns:56px auto;grid-template-rows:auto auto;text-align:left}
  .loginSplitIdentity img{grid-row:1/3}
}


/* 0.29.4 · login simplificado + correção de saída da tela de autenticação */
body.authenticated .loginScreen{display:none!important}

.loginCard{
  width:min(440px,calc(100vw - 28px))!important;
}
.loginBrandMunicipal{
  min-height:112px!important;
  padding:18px 22px!important;
}
.loginBrandMunicipal img{
  width:min(100%,350px)!important;
  max-height:78px!important;
}
.loginCard>.loginBody{
  padding:24px!important;
}
.loginCard>.loginBody label:first-child{
  margin-top:0!important;
}
.loginInstitutionalFooter{
  border-top:1px solid #dfe6e2!important;
  background:#f8faf9!important;
  padding:10px 14px 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:4px 8px!important;
  color:#687a72!important;
  text-align:center!important;
}
.loginInstitutionalFooter span,
.loginInstitutionalFooter b{
  font-size:.56rem!important;
  line-height:1.3!important;
}
.loginInstitutionalFooter span::after{
  content:"·";
  margin-left:8px;
  color:#9aa7a1;
}
.loginInstitutionalFooter b{
  font-weight:800!important;
  color:#476055!important;
}

/* neutraliza o experimento dividido da 0.27.33.2 */
.loginSplit,.loginSplitForm,.loginSplitIdentity{display:none!important}

@media(max-width:600px){
  .loginCard{width:min(440px,calc(100vw - 24px))!important}
  .loginBrandMunicipal{min-height:94px!important;padding:14px 16px!important}
  .loginBrandMunicipal img{max-height:64px!important;width:min(100%,300px)!important}
  .loginCard>.loginBody{padding:19px 17px 16px!important}
  .loginInstitutionalFooter{padding:9px 10px 10px!important}
  .loginInstitutionalFooter span,
  .loginInstitutionalFooter b{font-size:.52rem!important}
}


/* ==========================================================================
   FISCAMB 0.29.4 — Situação e Campo: objeto, localização e evidências
   ========================================================================== */

/* Objeto da situação */
.objectPicker{padding:13px 14px!important}
.objectPicker legend{font-size:.78rem!important}
.objectChips{gap:6px!important}
.objectChips button{
  border-radius:999px!important;
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:.62rem!important;
}
.objectPicker>input[name="assunto_outro"]{
  margin-top:9px!important;
  min-height:44px;
}

/* Localização: endereço primeiro, ações depois */
.newSituationLocation{
  padding:13px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#f8fbf9,#f3f8f5)!important;
}
.newSituationLocationHead{margin-bottom:9px!important}
.newSituationLocationBody{
  margin:0 0 10px!important;
  min-height:58px;
  padding:12px 13px!important;
  border-radius:12px!important;
  border-color:#d8e5de!important;
  box-shadow:0 3px 12px rgba(20,55,42,.035);
}
.newSituationLocationBody.locationEmpty{
  justify-content:center;
  border-style:dashed!important;
  background:#fbfcfb!important;
}
.newSituationLocationPlaceholder{font-size:.65rem!important;color:#74847c!important}
.newSituationLocationBody.hasLocation{
  background:#fff!important;
  border-color:#bcd5c8!important;
}
.newSituationLocationBody.locationError{
  background:#fff8f6!important;
  border-color:#e6c5bd!important;
  color:#775149!important;
}
.newSituationLocationBody.locationError b{color:#784a41!important}
.newSituationLocationBody.locationError span{font-size:.63rem!important;line-height:1.38}
.locationPrimaryLine{display:flex!important;align-items:center;gap:8px}
.locationPrimaryLine b{font-size:.82rem!important}
.locationPin{
  width:28px;height:28px;border-radius:9px;
  display:grid;place-items:center;background:#e9f3ee;color:#17533d;
  font-size:.9rem;flex:none;
}
.newSituationAddressSearch{grid-template-columns:minmax(0,1fr) 108px!important}
.newSituationAddressSearch input{min-height:46px!important}
.locationSearchBtn{
  min-height:46px!important;background:#fff!important;color:#173f31!important;
  border:1px solid #c9d9d1!important;font-weight:850!important;
}
.newSituationLocationActions{
  display:grid!important;
  grid-template-columns:1.35fr 1fr auto!important;
  gap:7px!important;
}
.newSituationLocationActions .locationAction{
  min-height:44px!important;
  border-radius:11px!important;
  background:#fff!important;
  border:1px solid #cadbd2!important;
  color:#234d3e!important;
  font-size:.65rem!important;
  font-weight:850!important;
}
.newSituationLocationActions .primaryLocation{
  background:#173f31!important;color:#fff!important;border-color:#173f31!important;
}
.newSituationLocationActions .clearLocation{
  color:#7d5d54!important;background:#fbf8f7!important;border-color:#e5d9d5!important;
}
.locationReferenceField{
  display:grid!important;gap:5px;margin-top:9px!important;
  padding-top:10px;border-top:1px solid #e4ece8;
}
.locationReferenceField input{background:#fff!important}

/* leitura prévia */
.newSituationRelevant{
  padding:11px 12px!important;border-radius:12px!important;
  background:linear-gradient(180deg,#fff,#fbfcfb)!important;
  box-shadow:0 3px 12px rgba(20,55,42,.03);
}
.newSituationRelevantHead>div{display:flex;flex-direction:column;gap:2px}
.newSituationRelevantHead b{font-size:.67rem;color:#263f34}
.newSituationRelevantHead span{max-width:260px;text-align:right;line-height:1.25}
.newSituationRelevantChips{gap:6px!important}
.newSituationRelevantChip{
  min-height:31px!important;padding:5px 8px!important;
  border-radius:9px!important;font-size:.59rem!important;
}

/* trecho administrativo abaixo da localização */
.situationSetupBlock{
  border-radius:15px!important;
  border:1px solid #dbe5e0!important;
  box-shadow:0 4px 14px rgba(20,55,42,.025);
}
.demandOriginBlock.situationSetupBlock{
  padding:13px!important;background:linear-gradient(180deg,#fff,#fafcfb)!important;
}
.teamPicker.situationSetupBlock{
  padding:12px 13px!important;background:#fbfcfb!important;
}
#formNova>.checkLine{
  margin:10px 0!important;padding:10px 12px!important;
  border:1px solid #dce6e1;border-radius:12px;background:#f7faf8;
}
#formNova>button[type="submit"]{
  width:100%;min-height:50px;margin-top:4px;border-radius:13px;
}

/* Diligência: objeto herdado, sem repetir seleção */
.diligenceObjectSummary{
  margin:0 0 9px;padding:10px 11px;
  border:1px solid #dbe6e0;border-radius:11px;background:#f8fbf9;
}
.diligenceObjectSummary>div:first-child{display:flex;flex-direction:column;gap:2px}
.diligenceObjectSummary small{font-size:.54rem;letter-spacing:.08em;color:#74857c}
.diligenceObjectSummary b{font-size:.67rem;color:#29483d}
.diligenceObjectChips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.diligenceObjectChips span{
  padding:5px 8px;border-radius:999px;background:#eaf3ee;
  color:#2f5b49;font-size:.58rem;font-weight:800;
}

/* captura de evidências */
.diligenceEvidenceHead>div{display:flex;flex-direction:column;gap:1px}
.diligenceEvidenceHead em{
  margin-top:3px;font-style:normal;font-size:.56rem;color:#7c8a83;font-weight:500;
}
.diligenceCaptureActions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.captureAction{
  min-height:54px!important;border-radius:12px!important;
  font-size:.68rem!important;
}
.captureAction.gallery{background:#fff!important}
.captureDesktopHint{
  margin-top:0!important;padding:7px 9px!important;
  background:#f4f7f5!important;border-radius:9px!important;
}
.diligenceFilesPreview{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:8px!important;margin-top:10px!important;
}
.diligenceEmptyMedia{
  grid-column:1/-1;min-height:86px;
  display:grid;place-items:center;text-align:center;
  padding:12px;border:1px dashed #d5e1db;border-radius:11px;background:#fbfcfb;
}
.diligenceEmptyMedia span{font-size:1.15rem;color:#789087}
.diligenceEmptyMedia b{font-size:.65rem}.diligenceEmptyMedia small{font-size:.56rem;color:#84918b}
.diligenceFileItem{
  position:relative!important;display:block!important;padding:6px!important;
  border:1px solid #dce6e1!important;border-radius:12px!important;background:#fff!important;
  overflow:hidden;
}
.diligenceMediaThumb{
  position:relative;width:100%;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#edf2ef;
  display:grid;place-items:center;
}
.diligenceMediaThumb img,.diligenceMediaThumb video{
  width:100%;height:100%;object-fit:cover;display:block;
}
.diligenceMediaThumb .videoMark{
  position:absolute;inset:auto auto 8px 8px;width:28px;height:28px;
  display:grid;place-items:center;border-radius:50%;background:#173f31;color:#fff;font-size:.65rem;
}
.diligenceFileMeta{display:flex!important;flex-direction:column;gap:2px;padding:7px 4px 2px!important}
.diligenceFileMeta b{font-size:.59rem!important}
.diligenceFileMeta small{font-size:.52rem!important}
.diligenceRemoveMedia{
  position:absolute;right:10px;top:10px;width:30px;height:30px!important;min-height:30px!important;
  border-radius:50%!important;background:rgba(255,255,255,.94)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.12);font-size:1rem!important;
}

/* álbuns mais visuais */
.album{
  background:#f7faf8!important;border-radius:16px!important;padding:12px!important;
}
.albumHead>div:first-child{display:flex;flex-direction:column;gap:2px}
.albumHead>div:first-child small{font-size:.55rem;color:#7e8d85}
.albumHeadActions{display:flex;align-items:center;gap:6px}
.albumCompareBtn{
  min-height:34px!important;padding:6px 9px!important;border-radius:9px!important;
  background:#fff!important;color:#255844!important;font-size:.58rem!important;font-weight:850!important;
}
.evidencias{
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;
  gap:8px!important;margin-top:9px!important;
}
.ev{
  padding:6px!important;border-radius:12px!important;background:#fff!important;
  box-shadow:0 3px 10px rgba(20,55,42,.035);
}
.evMedia{width:100%;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#edf2ef}
.evMedia img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;border-radius:0!important;margin:0!important}
.ev>span{display:block;margin:6px 3px 2px;font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* comparador antes/depois */
.compareDialog{
  width:min(920px,calc(100vw - 24px));max-width:920px;border:0;border-radius:20px;padding:0;
}
.compareDialog::backdrop{background:rgba(8,28,22,.72)}
#conteudoComparador{padding:16px;background:#f5f8f6}
.compareHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.compareHead small{font-size:.54rem;letter-spacing:.1em;color:#74857c;font-weight:850}
.compareHead h2{margin:2px 0;font-size:1.2rem}.compareHead span{font-size:.63rem;color:#75847d}
.compareSelectors{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}
.compareSelectors label{display:grid;gap:5px;font-size:.61rem;font-weight:800}
.compareSelectors select{width:100%;min-height:40px;border:1px solid #d4e0da;border-radius:9px;background:#fff;padding:7px}
.compareStage{
  --compare-split:50%;
  position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:14px;background:#17221d;
}
.compareStage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111}
.compareReveal{
  position:absolute;inset:0 auto 0 0;width:var(--compare-split);overflow:hidden;border-right:2px solid #fff;
}
.compareReveal img{position:absolute;left:0;top:0;width:100vw;max-width:none;height:100%;object-fit:contain;transform-origin:left center}
.compareDivider{position:absolute;left:var(--compare-split);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);box-shadow:0 0 0 1px #0002}
.compareLabel{
  position:absolute;top:10px;padding:5px 8px;border-radius:999px;background:rgba(17,48,38,.86);
  color:#fff;font-size:.55rem;font-weight:900;letter-spacing:.08em;
}
.compareLabel.before{left:10px}.compareLabel.after{right:10px}
.compareRangeWrap{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:10px}
.compareRangeWrap span{font-size:.58rem;font-weight:800;color:#607168}
.compareRangeWrap input{width:100%}

@media(max-width:700px){
  .objectChips{max-height:220px;overflow:auto;padding-right:2px}
  .newSituationLocationActions{grid-template-columns:1fr 1fr!important}
  .newSituationLocationActions .clearLocation{grid-column:1/-1}
  .newSituationAddressSearch{grid-template-columns:1fr!important}
  .newSituationRelevantHead>span{text-align:left;max-width:none}
  .diligenceCaptureActions{grid-template-columns:1fr 1fr!important}
  .captureAction.gallery{grid-column:1/-1}
  .diligenceFilesPreview{grid-template-columns:1fr 1fr!important}
  .compareSelectors{grid-template-columns:1fr}
}
@media(max-width:430px){
  .diligenceFilesPreview{grid-template-columns:1fr!important}
}


/* ==========================================================================
   FISCAMB 0.29.4 — Campo Profissional
   ========================================================================== */

/* correção definitiva do botão Nova situação no local */
.fieldPrimaryActions .fieldActionPrimary{
  display:flex!important;align-items:center!important;gap:10px!important;text-align:left!important;
}
.fieldPrimaryActions .fieldActionText{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  gap:3px!important;line-height:1.15!important;min-width:0!important;
}
.fieldPrimaryActions .fieldActionText b{display:block!important;font-size:.78rem!important;line-height:1.15!important}
.fieldPrimaryActions .fieldActionText small{display:block!important;font-size:.60rem!important;line-height:1.25!important;color:#748078!important}

/* modo vistoria */
.diligenceFieldMode{
  margin:0 0 10px;padding:11px;border-radius:13px;
  background:linear-gradient(135deg,#143f31,#1b5a45);color:#fff;
}
.diligenceFieldModeHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}
.diligenceFieldModeHead>div{display:flex;flex-direction:column;gap:2px}
.diligenceFieldModeHead small{font-size:.52rem;letter-spacing:.10em;color:#b8d5c9;font-weight:850}
.diligenceFieldModeHead b{font-size:.78rem}
.diligenceFieldModeHead>span{font-size:.53rem;opacity:.72}
.diligenceFieldQuick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:9px}
.diligenceFieldQuick button{
  min-height:58px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);color:#fff;
  border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px;font-size:.95rem
}
.diligenceFieldQuick button b{font-size:.55rem}.diligenceFieldQuick button:hover{background:rgba(255,255,255,.15)}
.diligenceFieldQuick button.disabled{opacity:.42}

/* scanner profissional */
.digitalizacaoDialog{width:min(1080px,calc(100vw - 24px))!important;max-width:1080px!important}
.scannerShell{padding:14px;background:#f4f7f5}
.scannerForm{display:flex;flex-direction:column;gap:10px}
.scannerMetaBar{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:8px}
.scannerMetaBar label{display:grid;gap:4px;font-size:.60rem;font-weight:800;color:#365548}
.scannerMetaBar select,.scannerMetaBar input{min-height:40px;border:1px solid #d3dfd9;border-radius:9px;background:#fff;padding:8px}
.scannerCaptureBar{display:flex;gap:7px;align-items:stretch}
.scannerCapture{
  position:relative;min-height:54px;padding:8px 12px;border:1px solid #ccdcd4;border-radius:11px;background:#fff;
  display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.64rem;color:#294d3e
}
.scannerCapture.primary{background:#173f31;color:#fff;border-color:#173f31}
.scannerCapture span{font-size:1rem}.scannerCapture input{position:absolute;inset:0;opacity:0;cursor:pointer}
.scannerPageCount{margin-left:auto;align-self:center;padding:6px 9px;border-radius:999px;background:#e9f0ec;font-size:.58rem;font-weight:850;color:#466055}
.scannerWorkspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;min-height:470px}
.scannerThumbs{
  background:#eef3f0;border:1px solid #d9e3de;border-radius:12px;padding:7px;overflow:auto;max-height:580px;
  display:flex;flex-direction:column;gap:6px
}
.scannerEmptyThumbs{padding:18px 9px;text-align:center;font-size:.60rem;color:#829087}
.scannerThumb{
  border:1px solid transparent;border-radius:10px;background:#fff;padding:6px;display:grid;grid-template-columns:62px minmax(0,1fr);gap:7px;cursor:pointer
}
.scannerThumb.active{border-color:#4d806a;box-shadow:0 0 0 1px #4d806a33}
.scannerThumbMedia{width:62px;height:78px;border-radius:7px;overflow:hidden;background:#e8eeeb;display:grid;place-items:center}
.scannerThumbMedia img{width:100%;height:100%;object-fit:cover}
.scannerPdfMark{font-size:.62rem;font-weight:900;color:#7c4f45}
.scannerThumb>div:nth-child(2){display:flex;flex-direction:column;min-width:0;padding-top:2px}
.scannerThumb b{font-size:.58rem}.scannerThumb small{font-size:.49rem;color:#839087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.scannerThumbActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:3px}
.scannerThumbActions button{min-height:28px!important;height:28px;padding:3px 7px;border-radius:7px;font-size:.55rem}
.scannerEditor{display:flex;flex-direction:column;gap:8px;min-width:0}
.scannerStage{
  min-height:380px;flex:1;border-radius:13px;background:#202925;display:grid;place-items:center;overflow:hidden;padding:16px
}
.scannerStageEmpty,.scannerPdfStage{color:#d9e5df;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.scannerStageEmpty span{font-size:2rem}.scannerStageEmpty b,.scannerPdfStage b{font-size:.78rem}.scannerStageEmpty small,.scannerPdfStage small,.scannerPdfStage span{font-size:.58rem;opacity:.72}
.scannerPaper{
  --crop:0%;position:relative;width:min(72%,620px);height:100%;max-height:520px;overflow:hidden;background:#fff;
  box-shadow:0 12px 38px rgba(0,0,0,.35);border-radius:3px
}
.scannerPaper img{
  position:absolute;left:var(--crop);top:var(--crop);width:calc(100% - (var(--crop) * 2));height:calc(100% - (var(--crop) * 2));
  object-fit:contain;transition:filter .12s ease,transform .12s ease
}
.scannerEditTools{
  display:grid;grid-template-columns:auto auto 1fr 1fr 1fr;gap:7px;align-items:center;
  padding:8px;border:1px solid #d9e3de;border-radius:11px;background:#fff
}
.scannerEditTools.hidden{display:none}
.scannerToolGroup{display:flex;gap:4px}.scannerToolGroup button{min-height:36px;padding:6px 8px;border-radius:8px;font-size:.55rem}
.scannerModes button.active{background:#173f31;color:#fff;border-color:#173f31}
.scannerEditTools label{display:grid;gap:3px;font-size:.50rem;font-weight:800;color:#61736a}
.scannerEditTools input[type=range]{width:100%;padding:0}
.scannerOcr{margin:0!important;padding:9px 10px!important;background:#fff;border:1px solid #dde6e2;border-radius:10px}
.scannerActions{margin-top:0!important}
.scannerQrPanel{margin:10px 0 0!important;background:#fff!important}

/* revisão do scanner */
.digitalizacaoOriginal .digitalizacaoPdfPreview{width:92px;height:118px;border-radius:9px;display:grid;place-items:center;background:#edf2ef;color:#744d43;font-weight:900}

@media(max-width:760px){
  .diligenceFieldQuick{grid-template-columns:repeat(5,minmax(62px,1fr));overflow-x:auto}
  .scannerMetaBar{grid-template-columns:1fr}
  .scannerCaptureBar{display:grid;grid-template-columns:1fr 1fr}
  .scannerPageCount{grid-column:1/-1;margin:0;justify-self:start}
  .scannerWorkspace{grid-template-columns:1fr;min-height:0}
  .scannerThumbs{max-height:none;display:flex;flex-direction:row;overflow-x:auto}
  .scannerThumb{min-width:165px}
  .scannerEditor{min-height:440px}
  .scannerStage{min-height:320px}
  .scannerPaper{width:min(92%,520px)}
  .scannerEditTools{grid-template-columns:1fr 1fr}
  .scannerEditTools>label{grid-column:1/-1}
}


/* ==========================================================================
   FISCAMB 0.29.4 — Consolidação operacional
   ========================================================================== */

/* Campo: sem cards redundantes; a lista é a área principal */
.fieldWorkspace{grid-template-columns:1fr!important}
.fieldContinue{min-height:0}
.fieldPrimaryActions .fieldActionText small{white-space:normal!important}
#campoNovaLocal.busy,#campoLocal.busy{opacity:.70!important}

/* upload de evidência sem aparência de input nativo */
.evidenceUploader{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px!important;align-items:stretch!important;
  margin-top:11px!important
}
.evidenceNativeInput{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.evidencePickAction{
  margin:0!important;min-height:58px;padding:9px 12px;border:1px dashed #b9d0c4;border-radius:12px;
  background:#f9fcfa;display:flex!important;align-items:center;gap:10px;cursor:pointer;color:#264c3d
}
.evidencePickAction>span{
  width:34px;height:34px;border-radius:10px;background:#e8f2ed;display:grid;place-items:center;font-size:1.1rem;font-weight:700
}
.evidencePickAction>div{display:flex;flex-direction:column;gap:2px}
.evidencePickAction b{font-size:.68rem}.evidencePickAction small{font-size:.55rem;color:#78877f;font-weight:500}
.evidenceSendAction{min-width:150px;border-radius:12px!important;font-weight:850!important}

/* Situação: identificação operacional do cotidiano */
.situationDailyRef{display:flex;flex-direction:column;gap:2px;margin-bottom:7px}
.situationDailyRef small{font-size:.57rem;letter-spacing:.08em;color:#76847d;font-weight:800}
.situationDailyRef h2{margin:0!important;font-size:1.55rem!important;color:#102f25}
.situationDailyRef>span{font-size:.75rem;color:#4d655b;font-weight:700}
.situationStatusSelect select:disabled{opacity:.65;cursor:progress}

/* Nova Situação minimizável / rascunho */
.newSituationDialogHead{display:flex;justify-content:space-between;align-items:flex-start}
.newSituationDialogHead>div:first-child{display:flex;flex-direction:column;gap:2px}
.newSituationDialogHead small{font-size:.53rem;letter-spacing:.1em;color:#75867d;font-weight:850}
.newSituationDialogHead h2{margin:0}
.newSituationWindowActions{display:flex;gap:5px}
.newSituationWindowActions button{width:36px;height:36px;padding:0;border-radius:10px}
.novaSituacaoDock{
  position:fixed;right:18px;bottom:18px;z-index:1750;max-width:min(430px,calc(100vw - 36px));min-height:54px;
  border:1px solid #244f40;border-radius:15px;background:#10392d;color:#fff;box-shadow:0 12px 30px #0003;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px 8px 13px;text-align:left
}
.novaSituacaoDock.hidden{display:none}
.novaSituacaoDock>span{font-size:1.2rem}.novaSituacaoDock>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.novaSituacaoDock b{font-size:.68rem}.novaSituacaoDock small{font-size:.55rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.novaSituacaoDock i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffffff12;font-style:normal;font-size:.95rem}

/* Correspondências: deixa claro o papel do painel */
.acervoMatchesHelp{
  margin:0 0 9px;border:1px solid #dbe5e0;border-radius:10px;background:#f8fbf9;padding:8px 10px
}
.acervoMatchesHelp summary{cursor:pointer;font-size:.60rem;font-weight:850;color:#315948}
.acervoMatchesHelp p{margin:7px 0 1px;font-size:.56rem;line-height:1.48;color:#63736b}
.acervoMatchPair{display:grid;grid-template-columns:1fr;gap:4px}
.acervoMatchDoc{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2px 8px!important}
.acervoMatchDoc small{grid-column:1/-1;font-size:.45rem!important;letter-spacing:.07em;color:#86938d!important}
.acervoMatchDoc b{grid-column:1;line-height:1.25}
.acervoMatchDoc span{grid-column:2;grid-row:2}
.acervoMatchLink{text-align:center;font-size:.49rem;color:#8a9791;font-weight:700;padding:1px}

/* remove referência visual do modelo antigo */
.acervoMatchArrow{display:none!important}

@media(max-width:700px){
  .evidenceUploader{grid-template-columns:1fr!important}
  .evidenceSendAction{width:100%;min-height:46px}
  .novaSituacaoDock{left:12px;right:12px;bottom:12px;max-width:none}
}


/* 0.29.4 · hotfix login + verde da bandeira municipal */
body:not(.authenticated) .loginScreen{
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.075),transparent 31%),
    linear-gradient(145deg,#2f6b4f,#245c43 56%,#184b36)!important;
}


/* ==========================================================================
   FISCAMB 0.29.4 — Fluxo, identidade e ergonomia
   ========================================================================== */

/* Login institucional no padrão do cabeçalho oficial */
.loginInstitutionalBrand{
  min-height:126px!important;
  padding:18px 24px!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:minmax(190px,280px) 1px minmax(260px,1fr)!important;
  gap:18px!important;
  align-items:center!important;
}
.loginInstitutionalBrand>img{
  width:100%!important;
  max-width:280px!important;
  max-height:82px!important;
  object-fit:contain!important;
  justify-self:end!important;
}
.loginBrandDivider{width:1px;height:68px;background:#d8dfdb;display:block}
.loginBrandText{display:flex;flex-direction:column;gap:5px;color:#263a31;line-height:1.25}
.loginBrandText span{font-size:.60rem;font-weight:500}
.loginBrandText b{font-size:.64rem;letter-spacing:.01em;color:#102f25}
body:not(.authenticated) .loginScreen{
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.075),transparent 31%),
    linear-gradient(145deg,#2f6b4f,#245c43 56%,#184b36)!important;
}

/* chips de fiscais nos cards */
.teamFilterChips button{
  border:0!important;
  min-height:25px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#eaf2ee!important;
  color:#49675a!important;
  font-size:.54rem!important;
  font-weight:750!important;
  cursor:pointer;
}
.teamFilterChips button:hover{background:#dcebe3!important;color:#204b39!important}

/* etapa preenchida por conteúdo real */
.situationStep.contentDone:not(.current){
  opacity:1!important;
}
.situationStep.contentDone:not(.done) i{
  background:#d9f2e4!important;
  color:#17613f!important;
  border-color:#a8d7bb!important;
}
.situationStep.contentDone:not(.done) span{color:#315b49!important;font-weight:800!important}

/* próxima ação navega e destaca o bloco correspondente */
.situationAdministrativePanel.attentionPulse{
  animation:fiscambAttention 1.6s ease;
}
@keyframes fiscambAttention{
  0%,100%{box-shadow:none}
  30%{box-shadow:0 0 0 4px rgba(203,245,87,.55),0 10px 25px rgba(22,60,45,.12)}
}

/* memória institucional recolhida */
.situationMemoryPanel{padding:0!important;overflow:hidden}
.situationMemorySummary{
  cursor:pointer;
  list-style:none;
  padding:15px 16px!important;
  margin:0!important;
}
.situationMemorySummary::-webkit-details-marker{display:none}
.situationMemorySummary>span{
  margin-left:auto;font-size:.56rem;color:#76867e;font-weight:700
}
.situationMemoryPanel[open] .situationMemorySummary>span{font-size:0}
.situationMemoryPanel[open] .situationMemorySummary>span::after{content:"Recolher histórico";font-size:.56rem}
.situationMemoryBody{padding:0 16px 16px}

/* OS no formato do cotidiano */
.osFieldLabel{
  display:block;margin:9px 0 3px;font-size:.48rem!important;letter-spacing:.08em;color:#7d8b84;font-weight:850
}
.osReference{margin:0!important;color:#445e53!important}

/* Nova Situação: backdrop/ESC/minimização */
#dlgNova::backdrop{cursor:default}

@media(max-width:700px){
  .loginInstitutionalBrand{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:15px 17px!important;
    text-align:center;
  }
  .loginInstitutionalBrand>img{justify-self:center!important;max-width:250px!important;max-height:67px!important}
  .loginBrandDivider{display:none}
  .loginBrandText{align-items:center}
  .loginBrandText span{font-size:.53rem}
  .loginBrandText b{font-size:.57rem}
}


/* 0.29.4 · auditoria de estabilidade */
.situationWindowActions,.reportWindowActions{display:flex;align-items:center;gap:5px}
.reportWindowActions button,.situationWindowActions button{width:38px;height:38px;padding:0;border-radius:10px}
.relatorioMinimizedDock{
  position:fixed;right:18px;bottom:82px;z-index:1740;max-width:min(420px,calc(100vw - 36px));
  min-height:52px;border:1px solid #2b5f4b;border-radius:14px;background:#123f31;color:#fff;
  box-shadow:0 12px 30px #0003;display:grid;grid-template-columns:auto minmax(0,1fr);
  align-items:center;gap:10px;padding:8px 13px;text-align:left
}
.relatorioMinimizedDock.hidden{display:none}
.relatorioMinimizedDock>span{font-size:1.15rem}
.relatorioMinimizedDock>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.relatorioMinimizedDock b{font-size:.67rem}
.relatorioMinimizedDock small{font-size:.54rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.situationStep.contentReady{opacity:1!important}
.situationStep.contentReady:not(.current) span{color:#245941!important;font-weight:850!important}
.situationStep.contentReady i{background:#d8f1e3!important;color:#17613f!important;border-color:#9fd0b3!important}
@media(max-width:700px){.relatorioMinimizedDock{left:12px;right:12px;bottom:76px;max-width:none}}

/* 0.29.4 · fechamento da rodada operacional */
.loginCard{width:min(720px,calc(100vw - 28px))!important}
.loginInstitutionalBrand{grid-template-columns:minmax(170px,250px) 1px minmax(0,1fr)!important;gap:14px!important;padding:16px 18px!important;overflow:hidden!important}
.loginInstitutionalBrand>img{max-width:245px!important;min-width:0!important}
.loginBrandText{min-width:0!important;overflow:hidden}.loginBrandText span,.loginBrandText b{display:block;max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important}
.loginBrandText span{font-size:.56rem!important;line-height:1.28!important}.loginBrandText b{font-size:.59rem!important;line-height:1.24!important}
.newSituationOsConfig{margin:10px 0;border:1px solid #d9e5df;border-radius:14px;background:#f8fbf9;overflow:hidden}
.newSituationOsConfig>.checkLine{margin:0!important;border:0!important;border-radius:0!important;background:#f1f7f4!important}
.newSituationOsFields{padding:11px 12px 12px;display:grid;gap:8px}.newSituationOsFields>div{display:flex;flex-direction:column;gap:2px}
.newSituationOsFields small{font-size:.52rem;letter-spacing:.09em;color:#7a8981;font-weight:850}.newSituationOsFields b{font-size:.70rem;color:#23483a}.newSituationOsFields span{font-size:.56rem;color:#73827a}
.newSituationOsFields textarea{width:100%;min-height:66px;border:1px solid #d0ddd6;border-radius:10px;background:#fff;padding:9px;resize:vertical}
.fieldSituationOperational{position:relative;padding:12px 48px 12px 14px!important;text-align:left!important}.fieldSituationOperational .fieldSituationMain{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;min-width:0}
.fieldSituationRef{width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fieldSituationRef b{font-size:.64rem;color:#1e503d}.fieldSituationRef span{font-size:.52rem;padding:3px 7px;border-radius:999px;background:#edf3f0;color:#61736a;font-weight:750}
.fieldSituationOperational h3{margin:1px 0!important;font-size:.77rem!important;color:#17392d}.fieldInternalRef{font-size:.50rem!important;color:#88958e!important}
.fieldTeamChips,.fieldObjectChips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.fieldTeamChips span{padding:4px 7px;border-radius:999px;background:#e8f1ed;color:#426253;font-size:.50rem;font-weight:750}
.fieldObjectChips span{padding:4px 7px;border-radius:999px;background:#f4f7f5;border:1px solid #d8e2dd;color:#496158;font-size:.50rem;font-weight:700}.fieldSituationArrow{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:1rem;color:#4b6c5f}
.reportEntrySummaryRich{display:grid!important;grid-template-columns:auto 1fr;gap:9px 16px!important;align-items:start}.reportSummaryState{display:flex;flex-direction:column;gap:3px}.reportSummaryState span{width:max-content}.reportSummaryState b{font-size:.56rem!important;color:#6e8077!important}
.reportSummaryMetrics{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.reportSummaryMetrics span{padding:5px 8px;border-radius:999px;background:#f1f6f3;color:#526a5f;font-size:.54rem}.reportEntrySummaryRich p{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px solid #e3ebe7;font-size:.61rem;line-height:1.45;color:#53685f}
.acervoDocDate{font-weight:850!important;color:#315d4a!important}
.acervoViewerDialog{width:min(1180px,calc(100vw - 22px));height:min(900px,calc(100vh - 22px));max-width:none;max-height:none;padding:0;border:0;border-radius:18px;overflow:hidden;background:#101613}
.acervoViewerDialog::backdrop{background:rgba(8,25,20,.76)}#conteudoAcervoViewer{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}
.acervoViewerHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#123a2f;color:#fff;border-bottom:1px solid #ffffff18}.acervoViewerHead>div:first-child{min-width:0}.acervoViewerHead small{font-size:.48rem;letter-spacing:.08em;color:#b7cec4}.acervoViewerHead h2{margin:2px 0 0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acervoViewerActions{display:flex;gap:5px;flex:none}.acervoViewerActions button{min-height:34px;padding:6px 9px;border-radius:8px;border:1px solid #ffffff22;background:#ffffff10;color:#fff;font-size:.56rem}.acervoViewerBody{min-height:0;overflow:hidden;background:#111714}
.acervoViewerStage{width:100%;height:100%;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:grab}.acervoViewerStage img{max-width:94%;max-height:94%;object-fit:contain;transform-origin:center center;user-select:none}.acervoViewerPdf{width:100%;height:100%;border:0;background:#fff}
.acervoViewerTextOnly{height:100%;overflow:auto;background:#f8faf9;color:#22382f;padding:22px}.acervoViewerTextOnly>b{display:block;margin:5px 0 15px;font-size:1rem}.acervoViewerTextOnly>small{font-size:.52rem;letter-spacing:.09em;color:#708078}.acervoViewerTextOnly>p{font-size:.60rem;color:#718078}.acervoViewerLoading{height:100%;display:grid;place-items:center;padding:20px;color:#fff;background:#111714}
@media(max-width:700px){.loginCard{width:min(460px,calc(100vw - 22px))!important}.reportEntrySummaryRich{grid-template-columns:1fr!important}.reportSummaryMetrics{justify-content:flex-start}.acervoViewerDialog{width:100vw;height:100dvh;border-radius:0}}


/* ==========================================================================
   FISCAMB 0.29.4 - estabilidade de fluxo, OS e scanner
   ========================================================================== */
/* Cabeçalho de login no padrão institucional: bloco azul + texto alinhado */
.loginInstitutionalBrand{
  grid-template-columns:minmax(230px,285px) 1px minmax(0,1fr)!important;
  min-height:132px!important;padding:0!important;gap:0!important;background:#fff!important;overflow:hidden!important
}
.loginMunicipalBlue{align-self:stretch;display:grid;place-items:center;background:#2d5f83;padding:17px 20px;min-width:0}
.loginMunicipalBlue img{display:block;width:100%;max-width:255px;max-height:86px;object-fit:contain}
.loginBrandDivider{height:76px!important;align-self:center;background:#d1dbd6!important;margin:0 16px}
.loginBrandText{align-self:center!important;justify-self:stretch;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:6px!important;padding:14px 22px 14px 0!important;text-align:left!important;overflow:visible!important}
.loginBrandText span,.loginBrandText b{width:100%;max-width:100%;text-align:left!important;overflow-wrap:normal!important;word-break:normal!important}
.loginBrandText span{font-size:.58rem!important;line-height:1.28!important;color:#5b6963!important}
.loginBrandText b{font-size:.65rem!important;line-height:1.2!important;color:#102f25!important;white-space:nowrap!important}

.osCardActions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.osCardActions button{min-height:34px;border-radius:9px;padding:6px 10px;font-size:.56rem;font-weight:800}.osCardActions .osAddMotive{margin:0!important}

/* Scanner com câmera ao vivo */
.scannerCapture{border:1px solid #ccdcd4!important;text-align:left}.scannerCapture small{display:block;font-size:.48rem;color:inherit;opacity:.68;font-weight:500}.scannerHiddenInput{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.scannerLive{position:relative;width:100%;height:100%;min-height:420px;display:grid;place-items:center;background:#0b100e;overflow:hidden;border-radius:10px}
.scannerLive video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scannerGuide{position:absolute;inset:7% 9% 15%;border:2px solid rgba(224,248,235,.9);border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.22);pointer-events:none}
.scannerGuide i{position:absolute;inset:-2px;border-radius:12px;background:linear-gradient(90deg,#d7f34f 22px,transparent 22px) 0 0/44px 3px no-repeat,linear-gradient(#d7f34f 22px,transparent 22px) 0 0/3px 44px no-repeat,linear-gradient(270deg,#d7f34f 22px,transparent 22px) 100% 100%/44px 3px no-repeat,linear-gradient(0deg,#d7f34f 22px,transparent 22px) 100% 100%/3px 44px no-repeat}
.scannerGuide span{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);white-space:nowrap;color:#fff;font-size:.58rem;font-weight:800;text-shadow:0 1px 3px #000}
.scannerLiveActions{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;z-index:2}.scannerLiveActions button{min-height:42px;border-radius:999px;padding:8px 15px;background:#fff;color:#173f31;font-weight:850}.scannerLiveActions button:first-child{background:#d7f34f;border-color:#d7f34f}
.qrTalaoResult{margin-top:10px;border:1px solid #d6e2dc;border-radius:12px;background:#f7faf8;overflow:hidden}.qrTalaoResult.hidden{display:none}.qrTalaoResult>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px}.qrTalaoResult>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}.qrTalaoResult b{font-size:.62rem}.qrTalaoResult small{font-size:.52rem;color:#6f8077}.qrTalaoResult a{padding:6px 9px;border:1px solid #cbd9d2;border-radius:8px;background:#fff;color:#184a39;text-decoration:none;font-size:.54rem;font-weight:800}.qrTalaoResult iframe{display:block;width:100%;height:300px;border:0;border-top:1px solid #dce5e1;background:#fff}

@media(max-width:700px){
  .loginInstitutionalBrand{grid-template-columns:1fr!important}.loginMunicipalBlue{min-height:102px}.loginBrandDivider{display:none!important}.loginBrandText{padding:12px 15px!important;align-items:center!important;text-align:center!important}.loginBrandText span,.loginBrandText b{text-align:center!important}.loginBrandText b{white-space:normal!important}
  .scannerLive{min-height:56vh}.scannerGuide{inset:7% 5% 18%}.qrTalaoResult iframe{height:240px}
}

.adminChoiceGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}.adminChoiceGrid button{min-height:125px;border:1px solid #d6e1dc;border-radius:14px;background:#fff;padding:16px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.adminChoiceGrid button:hover{border-color:#7ba18f;background:#f8fbf9}.adminChoiceGrid span{font-size:1.25rem}.adminChoiceGrid b{font-size:.72rem;color:#173d30}.adminChoiceGrid small{font-size:.57rem;line-height:1.45;color:#718079}@media(max-width:650px){.adminChoiceGrid{grid-template-columns:1fr}}


/* ==========================================================================
   FISCAMB 0.29.4 — Estabilidade operacional
   ========================================================================== */

/* Login: somente a identidade Búzios no topo; órgão no rodapé */
.loginLogoOnly{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.loginLogoOnly .loginMunicipalBlue{
  width:100%!important;
  min-height:128px;
  display:grid!important;
  place-items:center!important;
  background:#2f6688!important;
  padding:18px 28px!important;
}
.loginLogoOnly .loginMunicipalBlue img{
  width:min(330px,82%)!important;
  max-width:330px!important;
  max-height:88px!important;
  object-fit:contain!important;
}
.loginInstitutionalFooterFull{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  text-align:center!important;
  padding:11px 18px 12px!important;
  line-height:1.2!important;
}
.loginInstitutionalFooterFull span{font-size:.51rem!important;color:#607269!important}
.loginInstitutionalFooterFull b{font-size:.54rem!important;letter-spacing:.015em!important;color:#244c3c!important}
.loginBrandDivider,.loginBrandText{display:none!important}

/* Hierarquia de trabalho: diálogo filho visualmente destacado sem "matar" o pai */
#dlgDigitalizacao::backdrop,#dlgInstrumento::backdrop{background:rgba(10,35,27,.58)}
.diligenceCaptureActions .captureAction{transition:border-color .15s ease,background .15s ease}
.diligenceCaptureActions .captureAction:hover{border-color:#7ea995;background:#f7fbf9}

/* Fluxo vivo */
.situationStep.contentReady::after{
  content:"registrado";display:block;font-size:.42rem;color:#2d7052;font-weight:800;margin-top:2px
}

@media(max-width:700px){
  .loginLogoOnly .loginMunicipalBlue{min-height:104px;padding:14px 20px}
  .loginLogoOnly .loginMunicipalBlue img{width:min(285px,88%)!important}
  .loginInstitutionalFooterFull span{font-size:.48rem!important}
  .loginInstitutionalFooterFull b{font-size:.50rem!important}
}


/* ==========================================================================\n   FISCAMB 0.29.4 · Relatório 2.0\n   ========================================================================== */
.loginCard{width:min(590px,calc(100% - 28px))!important;max-width:590px!important}
.loginLogoOnly .loginMunicipalBlue{min-height:105px!important;padding:13px 24px!important}
.loginLogoOnly .loginMunicipalBlue img{max-width:285px!important;max-height:76px!important}
.reportDialog{width:min(1180px,96vw)!important;max-width:1180px!important}
.reportTopModes{display:flex;align-items:center;gap:6px;padding:9px 14px;border-bottom:1px solid #dfe7e2;background:#f8faf9;position:sticky;top:0;z-index:8}
.reportTopModes button{border:1px solid #d5dfda;background:#fff;border-radius:9px;padding:9px 13px;font-weight:800}.reportTopModes button.active{background:#174f3e;color:#fff;border-color:#174f3e}.reportTopModes span{margin-left:auto;color:#687870;font-size:.76rem}
.reportDocToolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;background:#fff;border-bottom:1px solid #dde5e0;position:sticky;top:52px;z-index:7}.reportFormatGroup,.reportInsertGroup{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.reportFormatGroup span{width:1px;height:22px;background:#dce4df;margin:0 3px}.reportDocToolbar button{min-height:34px;border:1px solid #d7dfdb;background:#fff;border-radius:7px;padding:6px 10px}.reportDocToolbar button:hover{background:#f1f6f3}.reportSaveStatus{margin-left:auto;font-size:.72rem;color:#617168;font-weight:700}
.reportDocWorkspace{background:#e9eeeb;padding:28px 18px 42px;overflow:auto}.reportDocPage{width:min(794px,100%);min-height:1050px;margin:0 auto;background:#fff;border:1px solid #d7ded9;box-shadow:0 3px 18px rgba(25,55,43,.08);padding:62px 70px 76px;box-sizing:border-box}.reportDocBlock{position:relative;margin:0 0 19px;border:1px solid transparent;border-radius:6px;padding:4px 5px}.reportDocBlock:hover{border-color:#dfe7e2}.reportBlockTools{position:absolute;right:-44px;top:2px;display:flex;flex-direction:column;gap:3px;opacity:0;transition:opacity .15s}.reportDocBlock:hover .reportBlockTools{opacity:1}.reportBlockTools button{width:34px;height:30px;border:1px solid #d7e0db;background:#fff;border-radius:6px}.reportBlockTitle{width:100%;border:0;border-bottom:1px solid #e4e9e6;background:transparent;font-weight:850;font-size:.91rem;text-transform:uppercase;padding:5px 0 7px;margin-bottom:8px;color:#17241e}.reportRichArea{min-height:52px;outline:none;font-family:Arial,sans-serif;font-size:14px;line-height:1.62;text-align:justify;color:#1f2a25;padding:3px 0}.reportRichArea:focus{background:#fbfdfc}.reportHeadingEdit{font-size:1.05rem;font-weight:850;outline:none;border-bottom:1px solid #e3e8e5;padding:4px 0}.reportTableHead,.reportAlbumControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.reportTableHead input,.reportAlbumControls input,.reportAlbumControls select{border:1px solid #d7e0db;border-radius:7px;padding:7px 9px;min-height:35px}.reportTableHead input,.reportAlbumControls input{flex:1;min-width:180px}.reportTableWrap{overflow:auto}.reportTableWrap table{border-collapse:collapse;width:100%;table-layout:fixed}.reportTableWrap td{border:1px solid #bdc8c2;padding:8px;min-width:70px;outline:none;font-size:.8rem}.reportTableWrap tr:first-child td{background:#f3f6f4;font-weight:800}.reportInlineActions{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.reportInlineActions button{border:1px solid #d6dfda;background:#fff;border-radius:7px;padding:6px 9px}.segmented{display:flex;border:1px solid #d5dfda;border-radius:7px;overflow:hidden}.segmented button{border:0;border-right:1px solid #d5dfda;background:#fff;min-width:34px;height:34px}.segmented button:last-child{border-right:0}.segmented button.active{background:#164f3d;color:white}.reportAlbumGrid{display:grid;grid-template-columns:repeat(var(--album-cols,2),minmax(0,1fr));gap:12px}.reportAlbumGrid figure{margin:0;min-width:0}.reportPhotoFrame{aspect-ratio:3/2;background:#eef2ef;overflow:hidden;border:1px solid #cfd8d3;border-radius:4px}.reportPhotoFrame img{width:100%;height:100%;object-fit:cover;display:block}.reportPhotoFrame.contain img{object-fit:contain;background:#f5f6f5}.reportAlbumGrid figcaption{font-size:.67rem;line-height:1.3;color:#64716a;margin-top:4px}.reportAutoBlock{background:#f6f8f7;border:1px solid #dce4e0!important;padding:12px!important;display:flex;justify-content:space-between;gap:10px}.reportAutoBlock span{color:#708078;font-size:.74rem}.reportPageBreak{height:24px;border-top:1px dashed #9eaaa4!important;margin:28px 0!important;text-align:center;color:#7a8881;font-size:.6rem;letter-spacing:.12em}.reportPageBreak span{position:relative;top:-9px;background:#fff;padding:0 10px}.reportPreviewMode{padding:12px;background:#e8edeb}.reportPreviewMode iframe{width:100%;height:75vh;border:0;background:#fff;border-radius:8px}.reportDocActions{position:sticky;bottom:0;background:#fff;border-top:1px solid #dfe6e2;z-index:9}.reportDocEmpty{text-align:center;color:#75837c;padding:90px 20px}.hidden{display:none!important}
@media(max-width:760px){.loginCard{width:min(520px,calc(100% - 18px))!important}.reportDialog{width:100%!important;max-width:none!important}.reportDocWorkspace{padding:10px 4px 28px}.reportDocPage{padding:34px 20px 50px;min-height:850px;border-left:0;border-right:0}.reportBlockTools{position:static;opacity:1;flex-direction:row;justify-content:flex-end;margin-bottom:4px}.reportAlbumGrid{grid-template-columns:1fr!important}.reportDocToolbar{top:47px;padding:7px}.reportSaveStatus{width:100%;margin-left:0}.reportTopModes span{display:none}.reportPreviewMode iframe{height:68vh}}


/* ==========================================================================
   FISCAMB 0.29.4 · Consolidação operacional + Roteiro de Vistoria
   ========================================================================== */

/* Login institucional: proporção compacta e cores oficiais do Manual da Marca 2019 */
.loginScreen{background:#5E8761!important}
.loginCard{width:min(520px,calc(100% - 28px))!important;max-width:520px!important}
.loginLogoOnly .loginMunicipalBlue{background:#264264!important;min-height:96px!important;padding:12px 22px!important}
.loginLogoOnly .loginMunicipalBlue img{max-width:265px!important;max-height:72px!important}
.loginBody{padding:21px 24px!important}
.loginInstitutionalFooterFull{padding:9px 16px 10px!important}

/* Fluxo: conteúdo registrado não injeta texto dentro da régua */
.situationStep.contentReady::after{content:none!important;display:none!important}
.situationStep.contentDone:not(.done):not(.current) i{border-color:#7db697;background:#eef7f1;color:#245f45}
.situationProgress{grid-template-columns:repeat(9,minmax(74px,1fr))!important}
.situationStep{min-width:0}
.situationStep span{overflow-wrap:anywhere}

/* GPI / processo existente */
#novaProcessoWrap.hidden{display:none!important}
.adminExistingTag{font-size:.48rem;font-weight:900;text-transform:uppercase;color:#315f4d;background:#edf6f1;border:1px solid #cee2d7;border-radius:999px;padding:5px 8px}
.existingProcessChoice{border-color:#b8d4c5!important;background:#f5faf7!important}

/* Álbum: identificação operacional curta e comparação fora do cabeçalho */
.albumHead>div:first-child{min-width:0}
.albumHead>div:first-child b{display:block;white-space:normal;line-height:1.2}
.albumAnalysisActions{display:flex;justify-content:flex-end;padding:8px 0 2px}
.albumAnalysisActions button{border:1px solid #ccdcd4;background:#fff;border-radius:9px;padding:7px 10px;font-size:.56rem;font-weight:850;color:#285241}
.albumHeadActions .albumCompareBtn{display:none!important}

/* Roteiro de vistoria: seco, operacional e mobile-first */
.diligenceChecklist{padding:0!important;overflow:hidden}
.diligenceChecklistHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#eef5f1;border-bottom:1px solid #d5e2db}
.diligenceChecklistHead div{display:flex;flex-direction:column;gap:2px}
.diligenceChecklistHead small{font-size:.49rem;letter-spacing:.08em;color:#5f756b;font-weight:850}
.diligenceChecklistHead b{font-size:.76rem;color:#173e30}
.diligenceChecklistHead>span{font-size:.52rem;font-weight:850;color:#3b6955}
.diligenceChecklistGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.checklistGroup{padding:12px 14px;border-right:1px solid #e0e9e4;border-bottom:1px solid #e0e9e4;min-width:0}
.checklistGroup:nth-child(2n){border-right:0}
.checklistGroup h4{margin:0 0 9px;font-size:.73rem;color:#153d2e}
.checklistQuestion{padding:8px 0;border-top:1px dashed #e2e9e5}
.checklistQuestion:first-of-type{border-top:0;padding-top:0}
.checklistQuestion>b{display:block;font-size:.61rem;line-height:1.3;margin-bottom:6px;color:#263e34}
.checklistOptions{display:flex;flex-wrap:wrap;gap:5px}
.checklistOptions button{border:1px solid #d1ddd7;background:#fff;border-radius:8px;padding:6px 8px;font-size:.54rem;font-weight:750;color:#3b5148;min-height:30px}
.checklistOptions button.selected{background:#173f31;color:#fff;border-color:#173f31}

/* Diligência mantém a fila visível e previsível */
.diligenceFilesPreview{min-height:0}
.diligenceFileItem{animation:none!important}

@media(max-width:760px){
  .loginCard{width:min(94vw,500px)!important}
  .diligenceChecklistGroups{grid-template-columns:1fr}
  .checklistGroup{border-right:0}
  .checklistOptions button{min-height:38px;padding:8px 10px}
  .situationProgress{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important;padding-bottom:4px}
  .situationStep{flex:0 0 104px}
}


/* ==========================================================================
   FISCAMB 0.29.4 · Base legal relacionada — Decreto 705/2008
   ========================================================================== */
.diligenceLegalBase{padding:0!important;overflow:hidden}
.legal705Head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f4f6f5;border-bottom:1px solid #dbe4df}
.legal705Head>div{display:flex;flex-direction:column;gap:2px}
.legal705Head small{font-size:.49rem;letter-spacing:.08em;font-weight:900;color:#687970}
.legal705Head b{font-size:.78rem;color:#183c2f}
.legal705Head>span{font-size:.53rem;font-weight:850;color:#4f675c}
.legal705Loading{padding:14px;font-size:.62rem;color:#617069}
.legal705Rows{display:flex;flex-direction:column}
.legal705Row{display:grid;grid-template-columns:150px minmax(0,1fr) 245px;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid #e3e9e6;background:#fff}
.legal705Row:last-child{border-bottom:0}
.legal705Row.status-aplicavel{background:#f5faf7}
.legal705Row.status-nao_aplicavel{opacity:.58}
.legal705Ref{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.legal705Ref b{font-size:.69rem;color:#153e2f}
.legal705Ref span{font-size:.56rem;font-weight:900;color:#465c52}
.legal705Ref small{font-size:.49rem;color:#6c7c74}
.legal705Text{min-width:0}
.legal705Text p{margin:0;font-size:.59rem;line-height:1.35;color:#273c33}
.legal705Objects{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.legal705Objects span{font-size:.46rem;padding:3px 6px;border-radius:999px;background:#eef3f0;color:#53675d;font-weight:750}
.legal705Actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.legal705Actions button{min-height:32px;border:1px solid #d0dcd6;background:#fff;border-radius:8px;padding:5px 6px;font-size:.49rem;font-weight:850;color:#42574d}
.legal705Actions button.selected.aplicavel{background:#164733;border-color:#164733;color:#fff}
.legal705Actions button.selected.analisar{background:#e8eef9;border-color:#9bb0d4;color:#27456e}
.legal705Actions button.selected.nao_aplicavel{background:#f1f2f1;border-color:#c7ccca;color:#6a7470}
@media(max-width:820px){
  .legal705Row{grid-template-columns:1fr;gap:8px}
  .legal705Actions{grid-template-columns:repeat(3,1fr)}
  .legal705Actions button{min-height:40px}
  .legal705Head{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   FISCAMB 0.29.4 · Análise legal + integração automática com relatório
   ========================================================================== */

/* "Analisar" é ação, não estado */
.legal705Row.status-sem_definicao{background:#fff}
.legal705Actions button.analisar{background:#fff;border-color:#aabbd5;color:#2e4f78}
.legal705Actions button.analisar:hover{background:#f2f6fc}
.legal705Actions button.selected.analisar{background:#fff!important;color:#2e4f78!important;border-color:#aabbd5!important}

/* Janela de análise do dispositivo */
.legal705AnalysisDialog{width:min(820px,94vw)!important;max-width:820px!important;padding:0!important;border:0!important;border-radius:16px!important;overflow:hidden!important}
.legalAnalysisHead{margin:0!important}
.legalAnalysisText{padding:16px 18px;border-bottom:1px solid #e0e7e3;background:#fff}
.legalAnalysisText p{margin:0;font-size:.74rem;line-height:1.5;color:#1f372d}
.legalAnalysisSection{padding:13px 18px;border-bottom:1px solid #e6ece9}
.legalAnalysisSection>small{display:block;margin-bottom:8px;font-size:.49rem;letter-spacing:.08em;font-weight:900;color:#6b7d74}
.legalAnalysisChips{display:flex;flex-wrap:wrap;gap:5px}
.legalAnalysisChips span{font-size:.53rem;font-weight:800;border-radius:999px;padding:5px 8px;background:#eef4f1;color:#345648}
.legalAnalysisFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.legalAnalysisFacts>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e0e8e4;border-radius:9px;background:#fbfcfb}
.legalAnalysisFacts b{font-size:.55rem;line-height:1.3;color:#31463d}
.legalAnalysisFacts span{font-size:.55rem;font-weight:900;color:#1e5741;text-align:right}
.legalRelatedDevices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.legalRelatedDevices button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:7px 9px;border:1px solid #d8e2dd;border-radius:9px;background:#fff;text-align:left}
.legalRelatedDevices b{font-size:.58rem;color:#264a3a}
.legalRelatedDevices span{font-size:.49rem;color:#68776f}
.legalAnalysisActions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;background:#f6f8f7}
.legalAnalysisActions button{min-height:38px}
.legalAnalysisActions button.primary{background:#173f31;color:#fff;border-color:#173f31}

/* Relatório: dispositivos selecionados na diligência entram como bloco automático */
.reportLegalSyncBadge{font-size:.48rem;font-weight:900;color:#315d4a;background:#edf6f1;border:1px solid #cfe1d7;border-radius:999px;padding:5px 8px;white-space:nowrap}
.reportLegal705Block{border:1px solid #cadbd2!important;background:#fbfdfc!important}
.reportLegal705Head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #dce7e1;background:#f0f6f3}
.reportLegal705Head>div{display:flex;flex-direction:column;gap:2px}
.reportLegal705Head small{font-size:.46rem;letter-spacing:.08em;font-weight:900;color:#63776c}
.reportLegal705Head b{font-size:.73rem;color:#173f31}
.reportLegal705Head span,.reportLegal705Head em{font-size:.50rem;color:#617269;font-style:normal}
.reportLegal705List{display:flex;flex-direction:column}
.reportLegal705Item{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;padding:9px 12px;border-bottom:1px solid #e6ece9}
.reportLegal705Item:last-child{border-bottom:0}
.reportLegal705Item>div{display:flex;flex-direction:column;gap:2px}
.reportLegal705Item b{font-size:.61rem;color:#183e30}
.reportLegal705Item span{font-size:.49rem;color:#617269}
.reportLegal705Item p{margin:0;font-size:.56rem;line-height:1.4;color:#2a3d34}

@media(max-width:700px){
  .legalAnalysisFacts,.legalRelatedDevices{grid-template-columns:1fr}
  .legalAnalysisActions{display:grid;grid-template-columns:1fr}
  .reportLegal705Item{grid-template-columns:1fr;gap:5px}
  .reportLegalSyncBadge{display:none}
}


/* ==========================================================================
   FISCAMB 0.29.4 · Robustez operacional
   ========================================================================== */
.legal705Row.relevance-3{border-left:3px solid #4d8368}
.legal705Row.relevance-2{border-left:3px solid transparent}
.legal705Row.relevance-1{border-left:3px solid #dce4e0}


/* ==========================================================================
   FISCAMB 0.29.4 · Situação de Fiscalização — workspace operacional
   ========================================================================== */
#dlgSituacao{
  width:min(1180px,96vw)!important;
  max-width:1180px!important;
  max-height:94vh!important;
  border-radius:18px!important;
  background:#f3f6f4!important;
}
#conteudoSituacao{padding:0!important;background:#f3f6f4!important}

/* Cabeçalho */
.situationCaseHeader{
  position:relative;
  padding:20px 22px 16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%);
  border-bottom:1px solid #dbe5e0;
}
.situationCaseTopline{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
}
.situationCaseIdentity{min-width:0}
.situationCaseIdentity>small{
  display:block;font-size:.54rem;font-weight:900;letter-spacing:.09em;color:#6c7d74;
}
.situationCaseTitleRow{display:flex;align-items:center;gap:10px;margin-top:4px}
.situationCaseTitleRow h2{margin:0;font-size:1.45rem;color:#113a2b;line-height:1}
.situationCaseIdentity h1{margin:6px 0 7px;font-size:1.02rem;line-height:1.2;color:#253c32}
.situationCaseRefs{display:flex;gap:6px;flex-wrap:wrap}
.situationCaseRefs span{
  padding:5px 8px;border:1px solid #dce7e2;border-radius:999px;background:#f3f7f5;
  font-size:.58rem;font-weight:750;color:#52675d;
}
.situationLocationHero{
  width:100%;margin-top:14px;padding:12px 14px;
  display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;
  border:1px solid #d7e4de;border-radius:13px;background:#fff;text-align:left;
}
button.situationLocationHero{cursor:pointer}
button.situationLocationHero:hover{border-color:#9ec2b1;background:#fbfdfc}
.situationLocationPin{
  width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#e7f2ed;color:#17543d;font-size:1rem;
}
.situationLocationHero>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}
.situationLocationHero small{font-size:.49rem;font-weight:900;letter-spacing:.08em;color:#718178}
.situationLocationHero b{font-size:.72rem;color:#253c32;overflow-wrap:anywhere}
.situationLocationHero em{font-style:normal;font-size:.53rem;color:#78877f}
.situationLocationHero>i{font-style:normal;font-size:.55rem;font-weight:850;color:#236249;white-space:nowrap}
.situationLocationHero.noGeo{grid-template-columns:30px 1fr}
.situationCaseFooter{
  display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:12px;
}
.situationCaseTeam{min-width:0;flex:1}
.situationCaseTeam>small{
  display:block;margin-bottom:5px;font-size:.48rem;font-weight:900;letter-spacing:.08em;color:#7b8a82;
}
.situationCaseTeam>div{display:flex;gap:5px;flex-wrap:wrap}
.situationTeamChip{
  padding:5px 8px;border-radius:999px;background:#eaf2ee;color:#315647;font-size:.52rem;font-weight:800;
}
.situationEmptyTeam{font-size:.56rem;color:#8a9790}
.situationCaseCounters{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.situationCaseCounters>span{
  min-width:72px;padding:7px 8px;border:1px solid #e0e7e3;border-radius:10px;background:#fff;text-align:center;
}
.situationCaseCounters b{display:block;font-size:.72rem;color:#173f31}
.situationCaseCounters small{display:block;margin-top:1px;font-size:.46rem;color:#78877f}

/* Fluxo compacto */
.situationFlowStrip{
  padding:11px 22px 13px;background:#eef3f0;border-bottom:1px solid #d8e3dd;
}
.situationFlowStrip .situationProgress{margin:0;padding:0 0 10px!important}
.situationFlowStrip .situationStep{min-width:76px!important}
.situationFlowStrip .situationStep span{font-size:.52rem!important}
.situationFlowControls{
  display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:8px;align-items:stretch;
}
.situationStageControl{position:relative}
.situationStageButton{
  width:100%;height:100%;min-height:52px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 11px;border:1px solid #cadbd2;border-radius:11px;background:#fff;text-align:left;
}
.situationStageButton span{display:flex;flex-direction:column;gap:2px}
.situationStageButton small,.situationFlowNext small{font-size:.47rem;font-weight:900;letter-spacing:.08em;color:#74847b}
.situationStageButton b{font-size:.68rem;color:#173f31}
.situationStageButton i{font-style:normal;color:#5e7167}
.situationStageMenu{
  position:absolute;z-index:30;left:0;top:calc(100% + 5px);width:min(360px,90vw);
  padding:6px;border:1px solid #d4dfd9;border-radius:12px;background:#fff;
  box-shadow:0 18px 44px rgba(20,52,39,.18);
}
.situationStageMenu button{
  width:100%;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:7px;
  padding:7px 8px;border:0;border-radius:8px;background:transparent;text-align:left;
}
.situationStageMenu button:hover{background:#f1f6f3}
.situationStageMenu button.active{background:#e5f1eb;color:#174c38}
.situationStageMenu button i{
  width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eef2f0;
  font-style:normal;font-size:.5rem;font-weight:900;
}
.situationStageMenu button span{font-size:.58rem;font-weight:800}
.situationFlowNext{
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
  column-gap:12px;align-items:center;padding:8px 10px;border:1px solid #d7e9a0;border-radius:11px;background:#edf9be;
}
.situationFlowNext small{grid-column:1}
.situationFlowNext b{grid-column:1;font-size:.68rem;color:#2e4325}
.situationFlowNext .situationAdvanceBtn{grid-column:2;grid-row:1/3;align-self:center}

/* Seções */
.situationCaseSections{padding:12px 16px 20px}
.situationCaseSection{
  --section-accent:#809087;
  --section-soft:#f3f6f4;
  margin-bottom:9px;border:1px solid #dbe5e0;border-radius:14px;background:#fff;overflow:hidden;
  box-shadow:0 1px 0 rgba(26,63,48,.02);
}
.situationCaseSection.tone-os{--section-accent:#315f89;--section-soft:#edf4fa}
.situationCaseSection.tone-summary{--section-accent:#6a7d73;--section-soft:#f3f6f4}
.situationCaseSection.tone-diligence{--section-accent:#1f704f;--section-soft:#edf7f2}
.situationCaseSection.tone-evidence{--section-accent:#78863d;--section-soft:#f5f7e8}
.situationCaseSection.tone-instrument{--section-accent:#396a76;--section-soft:#edf5f7}
.situationCaseSection.tone-report{--section-accent:#917040;--section-soft:#faf5eb}
.situationCaseSection.tone-admin{--section-accent:#9b7b2d;--section-soft:#fbf6e5}
.situationCaseSection.tone-timeline{--section-accent:#747f7a;--section-soft:#f5f6f5}
.situationCaseSectionHead{
  min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;background:linear-gradient(90deg,var(--section-soft),#fff 72%);
}
.situationCaseSectionToggle{
  min-width:0;flex:1;display:grid;grid-template-columns:5px minmax(0,1fr);gap:10px;align-items:center;
  padding:2px;border:0;background:transparent;text-align:left;
}
.situationSectionColor{width:5px;height:38px;border-radius:999px;background:var(--section-accent)}
.situationSectionTitles{min-width:0;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.situationSectionTitles small{
  grid-column:1/3;font-size:.46rem;font-weight:900;letter-spacing:.09em;color:#7b8982
}
.situationSectionTitles b{font-size:.78rem;color:#263b32}
.situationSectionTitles em{
  min-width:0;font-style:normal;font-size:.51rem;color:#7a8981;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.situationSectionActions{display:flex;align-items:center;gap:6px}
.situationSectionChevron{
  width:32px;height:32px;padding:0;border:1px solid #dde5e1;border-radius:9px;background:#fff;
  color:#607168;font-weight:900;
}
.situationCaseBody{padding:11px 12px 13px;border-top:1px solid #e7ece9}
.situationCaseSection.is-collapsed .situationCaseSectionHead{border-bottom:0}
.situationCaseSection.is-collapsed{background:#fbfcfb}

/* Resumo operacional */
.situationOperationalSummary{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:10px}
.situationSummaryLead{
  padding:11px;border:1px solid #e3e9e6;border-radius:11px;background:#fbfcfb;
}
.situationSummaryLead>small,.summaryFact>small{
  display:block;font-size:.47rem;font-weight:900;letter-spacing:.08em;color:#7b8a82
}
.situationSummaryLead p{margin:5px 0 9px;font-size:.67rem;line-height:1.45;color:#3e5249}
.situationObjectChips{display:flex;flex-wrap:wrap;gap:4px}
.situationObjectChips span{
  padding:4px 7px;border-radius:999px;background:#eaf2ee;color:#345749;font-size:.49rem;font-weight:800
}
.situationSummaryGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.summaryFact{
  min-width:0;padding:9px 10px;border:1px solid #e3e9e6;border-radius:10px;background:#fff;
}
.summaryFact b{display:block;margin-top:3px;font-size:.61rem;color:#263e34;overflow-wrap:anywhere}
.summaryFact span{display:block;margin-top:2px;font-size:.50rem;color:#78877f}
.summaryFact button{
  margin-top:5px;padding:0;border:0;background:transparent;color:#236249;font-size:.50rem;font-weight:850
}
.summaryTeamChips{display:flex;gap:3px;flex-wrap:wrap;margin-top:4px}
.summaryTeamChips .situationTeamChip{font-size:.47rem;padding:4px 6px}

/* existing child blocks fit the new workspace */
.situationCaseBody .osCard{margin:0 0 8px!important}
.situationCaseBody .album{margin-top:0}
.situationCaseBody .album+.album{margin-top:8px}
.situationCaseBody .reportEntrySummary{margin-top:0}
.situationCaseBody .adminColumns{margin-top:0}

@media(max-width:820px){
  .situationCaseHeader{padding:16px 14px 13px}
  .situationCaseFooter{align-items:flex-start;flex-direction:column}
  .situationCaseCounters{justify-content:flex-start;width:100%}
  .situationCaseCounters>span{flex:1;min-width:66px}
  .situationFlowStrip{padding:10px 14px 12px}
  .situationFlowControls{grid-template-columns:1fr}
  .situationFlowNext{grid-template-columns:1fr auto}
  .situationCaseSections{padding:10px 10px 16px}
  .situationOperationalSummary{grid-template-columns:1fr}
  .situationSummaryGrid{grid-template-columns:1fr}
  .situationLocationHero{grid-template-columns:30px minmax(0,1fr)}
  .situationLocationHero>i{grid-column:2}
  .situationSectionTitles{grid-template-columns:1fr}
  .situationSectionTitles small,.situationSectionTitles b,.situationSectionTitles em{grid-column:1}
}
@media(max-width:520px){
  .situationCaseTitleRow{align-items:flex-start;flex-direction:column}
  .situationCaseIdentity h1{font-size:.92rem}
  .situationCaseCounters{display:grid;grid-template-columns:1fr 1fr}
  .situationFlowNext{grid-template-columns:1fr}
  .situationFlowNext .situationAdvanceBtn{grid-column:1;grid-row:auto;width:100%;margin-top:5px}
  .situationCaseSectionHead{align-items:flex-start}
  .situationSectionActions{flex-wrap:wrap;justify-content:flex-end}
}


/* ==========================================================================
   FISCAMB 0.29.4 · Mini-ficha territorial no cabeçalho da Situação
   ========================================================================== */
.situationLocationTerritorial{
  width:100%;margin-top:14px;border:1px solid #d7e4de;border-radius:13px;background:#fff;overflow:hidden;
}
.situationLocationPrimary{
  padding:12px 14px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;
}
.situationLocationText{min-width:0;display:flex;flex-direction:column;gap:2px}
.situationLocationText small{font-size:.49rem;font-weight:900;letter-spacing:.08em;color:#718178}
.situationLocationText b{font-size:.74rem;color:#203b30;overflow-wrap:anywhere}
.situationLocationText strong{font-size:.53rem;font-weight:800;color:#61736a}
.situationLocationText em{font-style:normal;font-size:.52rem;color:#77877f;overflow-wrap:anywhere}
.situationLocationPrimary>button{
  border:0;background:transparent;color:#236249;font-size:.55rem;font-weight:900;white-space:nowrap;padding:7px 4px;
}
.situationLocationPrimary>button:hover{text-decoration:underline}
.situationTerritoryLoading{
  border-top:1px solid #edf1ef;padding:8px 14px 9px 54px;font-size:.49rem;color:#7b8a82;background:#fbfcfb;
}
.situationTerritoryLoading span{
  display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#7ca58f;animation:pulse 1.2s infinite;
}
.situationTerritoryContext{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;
  padding:9px 14px 11px 54px;border-top:1px solid #e6ece9;background:#f8fbf9;
}
.situationTerritoryContext>small{
  padding-top:5px;font-size:.45rem;font-weight:900;letter-spacing:.08em;color:#74847b;white-space:nowrap;
}
.situationTerritoryChips{display:flex;gap:5px;flex-wrap:wrap}
.situationTerritoryChips span{
  display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #dbe5e0;border-radius:999px;
  background:#fff;color:#52655c;font-size:.48rem;font-weight:700;
}
.situationTerritoryChips span b{font-size:.46rem;font-weight:900;color:#334e42}
.situationTerritoryChips span.zone{background:#eef4fb;border-color:#d6e3ef}
.situationTerritoryChips span.special{background:#f7f1fb;border-color:#e7d9ef}
.situationTerritoryChips span.env{background:#edf7f0;border-color:#d1e7d8}
.situationTerritoryChips span.coast{background:#eef7f8;border-color:#d3e8ea}
@media(max-width:700px){
  .situationLocationPrimary{grid-template-columns:30px minmax(0,1fr)}
  .situationLocationPrimary>button{grid-column:2;justify-self:start;padding-left:0}
  .situationTerritoryContext{grid-template-columns:1fr;padding-left:14px}
  .situationTerritoryContext>small{padding-top:0}
}


/* ==========================================================================
   FISCAMB 0.29.4 · Envolvidos
   ========================================================================== */
.involvedHero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:28px 4px 18px}
.involvedHero h1{margin:2px 0 4px;font-size:2rem}
.involvedHero p{margin:0;color:#617269}
.involvedStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.involvedStats>div{padding:14px;border:1px solid #dce5e0;border-radius:13px;background:#fff}
.involvedStats b{display:block;font-size:1.2rem;color:#173f31}.involvedStats span{font-size:.58rem;color:#718078}
.involvedToolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:12px}
.involvedToolbar input{min-height:42px}
.involvedGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px}
.involvedCard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:13px;border:1px solid #dce5e0;border-radius:13px;background:#fff;text-align:left}
.involvedCard:hover{border-color:#a9c5b7;background:#fbfdfc}
.involvedCardTop{width:100%;display:flex;justify-content:space-between;align-items:center}
.involvedType{display:inline-grid;place-items:center;min-width:31px;height:24px;padding:0 6px;border-radius:7px;background:#e8f1ed;color:#28523f;font-size:.50rem;font-weight:900}
.involvedCardTop small{font-size:.50rem;color:#75847c}
.involvedCard>b{font-size:.72rem;color:#233d32}.involvedCard>span{font-size:.56rem;color:#52685d}.involvedCard>em{font-style:normal;font-size:.50rem;color:#7a8981}
.involvedDialog{width:min(760px,94vw)!important}.involvedLinkDialog{width:min(680px,94vw)!important}
.involvedForm{padding:16px}.involvedFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.involvedForm label{display:flex;flex-direction:column;gap:4px;margin-bottom:9px;font-size:.55rem;font-weight:800;color:#40564b}
.involvedForm input,.involvedForm select,.involvedForm textarea{width:100%}
.involvedProfile{padding:15px}.involvedProfileSummary{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.involvedProfileSummary>div{padding:9px;border:1px solid #e1e8e4;border-radius:9px}.involvedProfileSummary .wide{grid-column:1/-1}
.involvedProfileSummary small,.involvedNotes small{display:block;font-size:.46rem;font-weight:900;letter-spacing:.07em;color:#78877f}.involvedProfileSummary b{font-size:.61rem;color:#2e4439}
.involvedProfileActions{display:flex;justify-content:flex-end;padding:10px 0}
.involvedHistorySection{border:1px solid #dce5e0;border-radius:11px;overflow:hidden}.involvedHistoryHead{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#f2f6f4}
.involvedHistoryHead small{font-size:.46rem;font-weight:900;color:#76867d}.involvedHistoryHead b{font-size:.54rem;color:#42594e}
.involvedHistoryList{display:flex;flex-direction:column}.involvedHistoryList>button,.involvedHistoryInstrument{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border:0;border-bottom:1px solid #e7ece9;background:#fff;text-align:left}
.involvedHistoryList>button:hover{background:#f8fbf9}.involvedHistoryList span{display:flex;flex-direction:column;gap:2px}.involvedHistoryList b{font-size:.59rem;color:#294638}.involvedHistoryList small,.involvedHistoryList em{font-size:.49rem;color:#78877f;font-style:normal}
.involvedNotes{margin-top:9px;padding:10px;border:1px solid #e2e8e5;border-radius:9px}.involvedNotes p{margin:4px 0 0;font-size:.57rem;line-height:1.4}
.involvedLinkSearch{display:grid;grid-template-columns:1fr auto;gap:7px;padding:13px 14px 6px}.involvedRoleLabel{display:flex;align-items:center;gap:9px;padding:5px 14px 10px;font-size:.54rem;font-weight:800}.involvedRoleLabel select{flex:1}
.involvedLinkResults{padding:0 14px 14px;max-height:48vh;overflow:auto}.involvedLinkResults>button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:9px;border:1px solid #e0e7e3;border-radius:9px;background:#fff;text-align:left;margin-bottom:5px}
.involvedLinkResults>button span{display:flex;flex-direction:column;gap:2px}.involvedLinkResults>button b{font-size:.59rem}.involvedLinkResults>button small,.involvedLinkResults>button em{font-size:.49rem;color:#718078;font-style:normal}
.situationCaseSection.tone-involved{--section-accent:#6b4f8a;--section-soft:#f5f0f9}
.situationInvolvedList{display:flex;flex-direction:column;gap:6px}.situationInvolvedRow{display:flex;align-items:center;gap:6px;border:1px solid #e1e7e4;border-radius:10px;background:#fff;padding:5px}
.situationInvolvedMain{flex:1;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;border:0;background:transparent;text-align:left;padding:4px}
.situationInvolvedMain>span:last-child{display:flex;flex-direction:column;gap:2px}.situationInvolvedMain b{font-size:.61rem;color:#2c4137}.situationInvolvedMain small{font-size:.49rem;color:#76867d}
@media(max-width:650px){.involvedHero{align-items:flex-start;flex-direction:column}.involvedStats{grid-template-columns:1fr}.involvedFormGrid,.involvedProfileSummary{grid-template-columns:1fr}.involvedProfileSummary .wide{grid-column:1}.involvedToolbar{grid-template-columns:1fr}}


/* ==========================================================================
   FISCAMB 0.29.4 · Dossiê do Envolvido
   ========================================================================== */
.involvedHeroSource{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 10px;border:1px solid #dce6e1;border-radius:10px;background:#f8fbf9}
.involvedHeroSource small{font-size:.44rem;font-weight:900;letter-spacing:.08em;color:#78877f}.involvedHeroSource b{font-size:.58rem;color:#345448}
.involvedToolbar{grid-template-columns:1fr auto auto!important}
.involvedDossierHead{position:sticky;top:0;z-index:6;background:#fff}
.involvedDossierCounters{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:12px 14px;background:#f4f7f5;border-bottom:1px solid #dfe7e3}
.involvedDossierCounters button{padding:9px 7px;border:1px solid #dde6e1;border-radius:10px;background:#fff;text-align:center}
.involvedDossierCounters b{display:block;font-size:.88rem;color:#214638}.involvedDossierCounters span{display:block;font-size:.44rem;color:#74837b;margin-top:2px}
.involvedDossierNav{display:flex;gap:4px;padding:8px 14px;overflow:auto;border-bottom:1px solid #e3e9e6;background:#fff}
.involvedDossierNav button{white-space:nowrap;padding:7px 9px;border:0;border-radius:8px;background:transparent;font-size:.52rem;font-weight:800;color:#65776e}
.involvedDossierNav button.active{background:#e9f2ed;color:#224e3b}.involvedDossierNav button span{margin-left:4px;padding:2px 5px;border-radius:999px;background:#f0f3f1}
.involvedDossierPanel{padding:13px 14px;min-height:280px;max-height:56vh;overflow:auto}
.involvedDossierRows{display:flex;flex-direction:column;gap:6px}
.involvedDossierRows>button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e0e7e3;border-radius:10px;background:#fff;text-align:left}
.involvedDossierRows>button:hover{background:#f8fbf9;border-color:#b9cfc4}
.involvedDossierRows>button>span{min-width:0;display:flex;flex-direction:column;gap:2px}.involvedDossierRows b{font-size:.59rem;color:#294438}.involvedDossierRows small{font-size:.49rem;color:#65776e}.involvedDossierRows em{font-size:.47rem;color:#839088;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.involvedDossierRows strong{font-size:.47rem;color:#2d674f;font-weight:850;white-space:nowrap}
.dossierIcon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#edf3f0;color:#36584a;font-style:normal;font-size:.57rem;font-weight:900}.dossierIcon.instrument{background:#f4ece8;color:#834e35}.dossierIcon.process{background:#edf0f7;color:#40577c}.dossierIcon.report{background:#faf3e8;color:#86663b}.dossierIcon.location{background:#edf6f7;color:#39707a}
.involvedDossierRecent{margin-top:10px;border:1px solid #dde5e1;border-radius:10px;overflow:hidden}.involvedDossierRecent>button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border:0;border-bottom:1px solid #e7ece9;background:#fff;text-align:left}.involvedDossierRecent>button span{display:flex;flex-direction:column;gap:2px}.involvedDossierRecent>button b{font-size:.57rem}.involvedDossierRecent>button small,.involvedDossierRecent>button em{font-size:.47rem;color:#77877f;font-style:normal}
.involvedDossierFooter{display:flex;justify-content:flex-end;padding:9px 14px;border-top:1px solid #e2e8e5;background:#fafcfb}
@media(max-width:700px){.involvedToolbar{grid-template-columns:1fr!important}.involvedHeroSource{align-items:flex-start}.involvedDossierCounters{grid-template-columns:repeat(2,1fr)}.involvedDossierRows>button{grid-template-columns:30px minmax(0,1fr)}.involvedDossierRows>button>strong{grid-column:2}.involvedDossierPanel{max-height:none}}


/* ==========================================================================
   FISCAMB 0.29.4 · Memória institucional do Envolvido
   ========================================================================== */
.involvedDossierCounters{grid-template-columns:repeat(6,1fr)}
.involvedIdentityStatus{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}
.involvedIdentityStatus>div{padding:9px 10px;border:1px solid #dfe7e3;border-radius:9px;background:#f8fbf9}
.involvedIdentityStatus .wide{grid-column:1/-1}
.involvedIdentityStatus small{display:block;font-size:.44rem;font-weight:900;letter-spacing:.07em;color:#77877f}
.involvedIdentityStatus b{display:block;margin-top:2px;font-size:.56rem;color:#2d493d}
.involvedIdentityStatus span{display:block;margin-top:2px;font-size:.48rem;color:#728077}
.involvedTimeline{position:relative;display:flex;flex-direction:column}
.involvedTimeline:before{content:"";position:absolute;left:17px;top:9px;bottom:9px;width:2px;background:#e1e8e4}
.involvedTimelineRow{position:relative;display:grid!important;grid-template-columns:16px 82px minmax(0,1fr) auto!important;gap:8px!important;border:0!important;border-bottom:1px solid #e7ece9!important;border-radius:0!important;padding:9px 5px!important;background:#fff!important}
.involvedTimelineRow:hover{background:#f8fbf9!important}
.timelineDot{position:relative;z-index:2;width:10px;height:10px;margin-top:3px;border-radius:50%;background:#739486;border:2px solid #fff;box-shadow:0 0 0 1px #cbd8d1}
.involvedTimelineRow.instrumento .timelineDot{background:#9c6548}
.involvedTimelineRow.processo .timelineDot{background:#526d98}
.involvedTimelineRow.relatorio .timelineDot{background:#9b7a43}
.timelineDate{font-size:.47rem;color:#79877f;padding-top:2px}
.timelineText{display:flex;flex-direction:column;gap:2px;min-width:0}
.timelineText b{font-size:.57rem;color:#294438}
.timelineText small{font-size:.47rem;color:#6f7f77}
.involvedTimelineRow>em{font-style:normal;font-size:.43rem;font-weight:800;color:#75847c;padding-top:2px}
.involvedDuplicateReview{display:flex;flex-direction:column;gap:6px}
.involvedReviewNotice{padding:10px;border:1px solid #eadfc8;border-radius:9px;background:#fffaf1}
.involvedReviewNotice b{display:block;font-size:.57rem;color:#674f2d}
.involvedReviewNotice span{display:block;margin-top:2px;font-size:.47rem;color:#85745c}
.involvedDuplicateReview>button{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e0e7e3;border-radius:9px;background:#fff;text-align:left}
.involvedDuplicateReview>button span{display:flex;flex-direction:column;gap:2px}
.involvedDuplicateReview>button b{font-size:.57rem}
.involvedDuplicateReview>button small,.involvedDuplicateReview>button em{font-size:.47rem;color:#76847c;font-style:normal}
.involvedDuplicateReview>button strong{font-size:.46rem;color:#2d674f}
.involvedPossibleDuplicateAlert{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:9px 11px;border:1px solid #eadfc8;border-radius:9px;background:#fffaf1;text-align:left}
.involvedPossibleDuplicateAlert b{font-size:.54rem;color:#715731}
.involvedPossibleDuplicateAlert span{font-size:.47rem;color:#856d49}
@media(max-width:700px){
  .involvedDossierCounters{grid-template-columns:repeat(2,1fr)}
  .involvedIdentityStatus{grid-template-columns:1fr}
  .involvedIdentityStatus .wide{grid-column:1}
  .involvedTimelineRow{grid-template-columns:16px 70px minmax(0,1fr)!important}
  .involvedTimelineRow>em{grid-column:3}
  .involvedDuplicateReview>button{grid-template-columns:1fr}
  .involvedDuplicateReview>button strong{justify-self:start}
}


/* ==========================================================================
   FISCAMB 0.29.4 · Dossiê azul institucional + timeline profissional
   Azul oficial usado na tela de login: #264264
   ========================================================================== */
.involvedDossierHead{
  background:#264264!important;color:#fff!important;border-bottom:0!important;
}
.involvedDossierHead small,.involvedDossierHead span{color:#dbe6ef!important}
.involvedDossierHead h2{color:#fff!important}
.involvedDossierHead .ghost{color:#fff!important;border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.06)!important}

.involvedDossierCounters{
  background:#eef3f7!important;border-bottom:1px solid #d5e0e8!important;
}
.involvedDossierCounters button{
  border-top:4px solid #264264!important;
}
.involvedDossierCounters b{color:#264264!important}
.involvedDossierNav{background:#f7fafc!important}
.involvedDossierNav button.active{background:#264264!important;color:#fff!important}
.involvedDossierNav button.active span{background:rgba(255,255,255,.18)!important;color:#fff!important}

.involvedIdentityStatus>div,.involvedProfileSummary>div{
  border-top:4px solid #264264!important;
}
.involvedHistoryHead{
  background:#264264!important;color:#fff!important;
}
.involvedHistoryHead small,.involvedHistoryHead b{color:#fff!important}

.professionalTimeline{display:flex;flex-direction:column;gap:10px}
.timelineToolbar{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  padding:8px 10px;border:1px solid #d7e0e7;border-radius:11px;background:#f7fafc;
}
.timelineFilters{display:flex;gap:5px;flex-wrap:wrap}
.timelineFilters button{
  display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #d9e2e8;border-radius:999px;
  background:#fff;color:#526777;font-size:.48rem;font-weight:850;
}
.timelineFilters button span{min-width:18px;padding:2px 5px;border-radius:999px;background:#edf2f5;text-align:center}
.timelineFilters button.active{background:#264264;color:#fff;border-color:#264264}
.timelineFilters button.active span{background:rgba(255,255,255,.18);color:#fff}
.timelineLegend{display:flex;gap:8px;flex-wrap:wrap}
.timelineLegend span{font-size:.44rem;font-weight:800;color:#6f7e87}
.timelineLegend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:#739486}
.timelineLegend .instrumento:before{background:#9c6548}.timelineLegend .processo:before{background:#526d98}.timelineLegend .relatorio:before{background:#9b7a43}

.timelineWorkspace{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:12px;min-height:360px;
}
.involvedTimelineRail{
  position:relative;border:1px solid #dfe6e2;border-radius:12px;background:#fff;overflow:auto;max-height:52vh;padding:7px 8px 7px 3px;
}
.involvedTimelineRail:before{
  content:"";position:absolute;left:22px;top:16px;bottom:16px;width:2px;background:#dbe4df;
}
.involvedTimelineRow{
  position:relative;display:grid!important;grid-template-columns:22px 72px minmax(0,1fr) auto!important;
  gap:9px!important;align-items:start;border:1px solid transparent!important;border-radius:10px!important;
  padding:9px 7px!important;background:transparent!important;text-align:left!important;
}
.involvedTimelineRow:hover{background:#f5f8fa!important;border-color:#d9e3e9!important}
.involvedTimelineRow.selected{background:#edf3f8!important;border-color:#b8cad9!important;box-shadow:inset 3px 0 0 #264264}
.involvedTimelineRow .timelineDot{margin-left:8px;margin-top:4px}
.involvedTimelineRow .timelineDate{font-size:.47rem;color:#75848d;padding-top:2px}
.involvedTimelineRow .timelineText b{font-size:.58rem;color:#253f50}
.involvedTimelineRow .timelineText small{font-size:.48rem;color:#6e7e88}
.involvedTimelineRow>em{
  font-style:normal;font-size:.42rem;font-weight:900;letter-spacing:.03em;color:#75848d;
  padding:3px 5px;border-radius:999px;background:#eef2f4;
}

.timelineInspector{position:sticky;top:0;align-self:start}
.timelineInspectorCard,.timelineInspectorEmpty{
  border:1px solid #d7e0e7;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(27,50,66,.06);
}
.timelineInspectorEmpty{min-height:260px;display:grid;place-items:center;align-content:center;gap:5px;padding:24px;text-align:center;color:#71818b}
.timelineInspectorEmpty>span{font-size:1.5rem;color:#264264}.timelineInspectorEmpty b{font-size:.64rem;color:#304958}.timelineInspectorEmpty small{font-size:.49rem;max-width:210px}
.timelineInspectorCard{overflow:hidden}
.timelineInspectorTop{
  display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:#264264;color:#fff;
}
.timelineInspectorType{font-size:.46rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.timelineInspectorTop time{font-size:.47rem;opacity:.84}
.timelineInspectorCard h3{margin:12px 12px 3px;font-size:.76rem;color:#213b4c}
.timelineInspectorMeta{display:block;margin:0 12px 10px;color:#71818b;font-size:.49rem}
.timelineInspectorExtra{padding:10px 12px;border-top:1px solid #e6ebee;border-bottom:1px solid #e6ebee;background:#fafcfd}
.timelineInspectorExtra p{margin:0 0 6px;font-size:.5rem;line-height:1.4;color:#536873}.timelineInspectorExtra p:last-child{margin-bottom:0}
.timelineInspectorActions{display:flex;gap:6px;flex-wrap:wrap;padding:11px 12px}
.timelineInspectorActions button{font-size:.49rem}
.timelineInspectorActions .primary{background:#264264!important;border-color:#264264!important}
.timelineEventNotice{margin:9px 12px 0;padding:8px 9px;border:1px solid #eadfc8;border-radius:8px;background:#fffaf1;color:#6f5a38;font-size:.48rem;line-height:1.35}
.timelineEventNotice.hidden{display:none!important}

@media(max-width:820px){
  .timelineWorkspace{grid-template-columns:1fr}
  .timelineInspector{position:static}
  .involvedTimelineRail{max-height:46vh}
}
@media(max-width:560px){
  .timelineToolbar{align-items:flex-start}
  .timelineLegend{display:none}
  .involvedTimelineRow{grid-template-columns:22px 62px minmax(0,1fr)!important}
  .involvedTimelineRow>em{grid-column:3;justify-self:start}
}


/* ==========================================================================
   FISCAMB 0.29.5 · Cards de Envolvidos — leitura operacional
   ========================================================================== */
.involvedStatsExpanded{grid-template-columns:repeat(5,1fr)}
.involvedToolbarPro{
  grid-template-columns:minmax(280px,1.5fr) minmax(120px,.65fr) minmax(150px,.85fr) minmax(130px,.7fr) auto auto!important;
  align-items:center;
}
.involvedToolbarPro select{min-height:42px}
.involvedCard{
  position:relative;min-height:158px;padding-bottom:42px!important;overflow:hidden;
}
.involvedCard.hasHistory{box-shadow:inset 3px 0 0 #5f8a73}
.involvedCard.needsReview{box-shadow:inset 3px 0 0 #b8893e}
.involvedCardAlias{font-size:.53rem!important;color:#566a60!important}
.involvedCardContext{
  margin-top:4px;max-width:100%;font-size:.48rem;font-weight:750;color:#52685d;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.involvedCardBadges{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.involvedCardBadge{
  display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;
  font-size:.41rem;font-weight:900;letter-spacing:.02em;border:1px solid #d9e5df;background:#f5f9f7;color:#486155;
}
.involvedCardBadge.history{background:#edf6f1;border-color:#d2e5da;color:#315f4d}
.involvedCardBadge.process{background:#eef2f7;border-color:#d9e1eb;color:#536b88}
.involvedCardBadge.review{background:#fff7e9;border-color:#ead9b7;color:#876426}
.involvedCardTop .missingDoc{color:#9a7330;font-weight:800}
.involvedCardFooter{
  position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;
  min-height:34px;padding:7px 12px;border-top:1px solid #e6ece9;background:#f8faf9;
  color:#718078;font-size:.44rem;
}
.involvedCardFooter span{display:inline-flex;align-items:baseline;gap:3px}
.involvedCardFooter b{font-size:.5rem;color:#345448}
.involvedCardFooter .latest{margin-left:auto;color:#7d8a84}
@media(max-width:1180px){
  .involvedToolbarPro{grid-template-columns:1fr 1fr 1fr!important}
  .involvedToolbarPro input{grid-column:1/-1}
}
@media(max-width:760px){
  .involvedStatsExpanded{grid-template-columns:repeat(2,1fr)}
  .involvedToolbarPro{grid-template-columns:1fr!important}
  .involvedToolbarPro input{grid-column:auto}
  .involvedCard{min-height:150px}
}


/* ==========================================================================
   FISCAMB 0.29.5 · Preservação visual do dossiê aprovado
   ========================================================================== */
#dlgEnvolvido.involvedDialog{
  width:min(1120px,96vw)!important;
  max-width:1120px!important;
  height:auto!important;
  max-height:92vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0!important;
}
#dlgEnvolvido .involvedDossierPanel{
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:16px 18px 20px!important;
}
#dlgEnvolvido .involvedTimelineRail{
  max-height:none!important;
  overflow:visible!important;
}
#dlgEnvolvido .involvedDossierHead{
  position:relative!important;
  top:auto!important;
  min-height:0!important;
  padding:18px 20px 16px!important;
  background:#fff!important;
  color:#173028!important;
  border-bottom:1px solid #dce5e0!important;
}
#dlgEnvolvido .involvedDossierHead h2{color:#173028!important}
#dlgEnvolvido .involvedDossierHead small,
#dlgEnvolvido .involvedDossierHead span{color:#65766f!important}
#dlgEnvolvido .involvedDossierHead .ghost{
  color:#173028!important;
  border-color:#dce5e0!important;
  background:#fff!important;
}
#dlgEnvolvido .involvedDossierCounters{
  background:#f4f7f5!important;
  border-bottom:1px solid #dfe7e3!important;
  padding:10px 18px!important;
  gap:8px!important;
}
#dlgEnvolvido .involvedDossierCounters button{
  min-height:62px!important;
  padding:7px 6px!important;
  border-top:3px solid #315f4d!important;
}
#dlgEnvolvido .involvedDossierCounters b{color:#214638!important}
#dlgEnvolvido .involvedDossierNav{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  padding:8px 18px!important;
  gap:6px!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(22,47,64,.04);
}
#dlgEnvolvido .involvedDossierNav button.active{
  background:#e9f2ed!important;
  color:#224e3b!important;
}
#dlgEnvolvido .involvedDossierNav button.active span{
  background:#dfeae4!important;
  color:#224e3b!important;
}
#dlgEnvolvido .involvedIdentityStatus>div,
#dlgEnvolvido .involvedProfileSummary>div{
  border-top:3px solid #315f4d!important;
}
#dlgEnvolvido .involvedHistoryHead{
  background:#f2f6f4!important;
  color:#42594e!important;
}
#dlgEnvolvido .involvedHistoryHead small{color:#76867d!important}
#dlgEnvolvido .involvedHistoryHead b{color:#42594e!important}
#dlgEnvolvido .timelineWorkspace{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr)!important;
  min-height:0!important;
  align-items:start!important;
}
#dlgEnvolvido .timelineInspector{position:sticky!important;top:54px!important}
#dlgEnvolvido .timelineFilters button.active{
  background:#315f4d!important;border-color:#315f4d!important;color:#fff!important;
}
#dlgEnvolvido .timelineInspectorTop{background:#315f4d!important;color:#fff!important}
#dlgEnvolvido .timelineInspectorActions .primary{background:#315f4d!important;border-color:#315f4d!important}
#dlgEnvolvido .involvedTimelineRow.selected{
  background:#eef6f1!important;border-color:#bfd3c7!important;box-shadow:inset 3px 0 0 #315f4d!important;
}
#dlgEnvolvido .timelineInspectorEmpty>span{color:#315f4d!important}
@media(max-width:900px){
  #dlgEnvolvido.involvedDialog{width:min(760px,96vw)!important}
  #dlgEnvolvido .timelineWorkspace{grid-template-columns:1fr!important}
  #dlgEnvolvido .timelineInspector{position:static!important}
}


/* ==========================================================================
   FISCAMB 0.29.8 · Identidade documental
   ========================================================================== */
.documentCandidateRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;
}
.documentCandidateMain{
  display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px;
  min-width:0;text-align:left!important;background:#f8faf9!important;border-color:#e1e8e4!important;
}
.documentCandidateMain b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#24483a}
.documentCandidateMain small{font-size:.48rem;color:#718078}
.documentCandidateMain span{font-size:.46rem;font-weight:800;color:#315f4d}
.documentCandidateActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.timelineInspectorActions .documentAction.nao_localizado{
  background:#fff!important;color:#315f4d!important;border:1px solid #315f4d!important;
}
.timelineInspectorActions .documentAction.candidatos{
  background:#fff7e9!important;color:#76591f!important;border:1px solid #d8bd86!important;
}
.timelineInspectorActions .documentAction.confirmado,
.timelineInspectorActions .documentAction.localizado{
  background:#315f4d!important;color:#fff!important;border-color:#315f4d!important;
}
@media(max-width:720px){
  .documentCandidateRow{grid-template-columns:1fr}
  .documentCandidateActions{justify-content:flex-start}
}


/* ==========================================================================
   FISCAMB 0.30.0 · Repositório Documental Institucional
   ========================================================================== */
.acervoHeroActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.acervoStatsRepository{grid-template-columns:repeat(6,minmax(0,1fr))}
.acervoRepositoryState{margin:14px 0}
.repositoryStatusCard{
  padding:14px 16px;border:1px solid #d9e5df;border-radius:14px;background:#fff;
  box-shadow:0 7px 20px rgba(21,56,43,.04)
}
.repositoryStatusHead{display:flex;align-items:center;justify-content:space-between;gap:16px}
.repositoryStatusHead small{display:block;font-size:.46rem;font-weight:900;letter-spacing:.07em;color:#75877e}
.repositoryStatusHead b{display:block;margin-top:3px;font-size:.68rem;color:#28483b}
.repositoryStatusHead strong{font-size:1.05rem;color:#315f4d}
.repositoryProgress{height:7px;margin:10px 0;border-radius:999px;background:#e8eeeb;overflow:hidden}
.repositoryProgress i{display:block;height:100%;border-radius:999px;background:#315f4d;transition:width .25s ease}
.repositoryFacts{display:flex;gap:8px 16px;flex-wrap:wrap}
.repositoryFacts span{font-size:.48rem;color:#6e7d75}
.repositoryFacts b{color:#35584a}
.repositoryFacts .warn{color:#876426}
.repoBadge{padding:2px 6px;border-radius:999px;font-size:.4rem!important;font-weight:900!important}
.repoBadge.stored{background:#e7f2ec;color:#2d624b;border:1px solid #cce0d5}
.repoBadge.external{background:#f3f5f4;color:#77817c;border:1px solid #e0e5e2}
.repoHash{display:block;margin-top:4px;color:#78877f;word-break:break-all}
.acervoDocPath:has(.repoHash){background:#f6faf8}
@media(max-width:1100px){
  .acervoStatsRepository{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .acervoHeroActions{width:100%}
  .acervoHeroActions button{flex:1}
  .acervoStatsRepository{grid-template-columns:repeat(2,minmax(0,1fr))}
  .repositoryStatusHead{align-items:flex-start}
  .repositoryFacts{display:grid;grid-template-columns:1fr 1fr}
}


/* ==========================================================================
   FISCAMB 0.30.0.1 · Ações documentais observáveis
   ========================================================================== */
.acervoActionFeedback{
  margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid #dce5e0;
  background:#f6f8f7;color:#40564c;font-size:.60rem;font-weight:750;
}
.acervoActionFeedback.working{background:#f4f7f5;color:#496057}
.acervoActionFeedback.success{background:#edf6f1;border-color:#cce1d5;color:#295f48}
.acervoActionFeedback.warning{background:#fff8e9;border-color:#ead9b7;color:#7b5c22}
.acervoActionFeedback.error{background:#fff0ee;border-color:#ebc7c1;color:#8b4036}
.acervoProvenance{
  margin-top:12px;padding:11px 12px;border:1px solid #dce5e0;border-radius:10px;background:#f8faf9;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;
}
.acervoProvenance>div{min-width:0}
.acervoProvenance small{display:block;font-size:.46rem;color:#75847d;font-weight:850;letter-spacing:.04em}
.acervoProvenance b,.acervoProvenance span{display:block;margin-top:3px;font-size:.56rem;overflow-wrap:anywhere}
.acervoProvenance p{grid-column:1/-1;margin:2px 0 0;font-size:.52rem;color:#6b7c74}
.acervoProvenance.hidden{display:none!important}
.acervoViewerDialog[open]{display:block}
.acervoViewerDialog{z-index:2147483000}
@media(max-width:650px){
  .acervoProvenance{grid-template-columns:1fr}
  .acervoProvenance p{grid-column:auto}
  .acervoDocActions{gap:6px;flex-wrap:wrap;justify-content:flex-start}
}


/* ==========================================================================
   FISCAMB 0.30.1 · Viewer documental e visualizações derivadas
   ========================================================================== */
.acervoRefGroups{display:flex;flex-direction:column;gap:9px}
.acervoRefGroup{padding:8px 10px;border:1px solid #e2e9e5;border-radius:10px;background:#fafcfb}
.acervoRefGroup>small{display:block;margin-bottom:6px;font-size:.46rem;font-weight:900;letter-spacing:.05em;color:#6d8076}

.acervoViewerBody{min-height:0;overflow:hidden}
.acervoViewerStage{
  width:100%;height:100%;overflow:auto!important;display:block!important;
  padding:16px;background:#111714;touch-action:auto!important;cursor:default!important;
}
.acervoViewerStage img{
  display:block;max-width:none!important;max-height:none!important;height:auto!important;
  margin:0 auto;transform:none!important;user-select:none;
}
.acervoViewerTextOnly{
  height:100%;overflow:auto;background:#f7faf8;color:#22382f;padding:0!important;
}
.acervoReader{
  width:min(980px,calc(100% - 44px));margin:0 auto;padding:28px 0 48px;
}
.acervoReader>small{font-size:.50rem;letter-spacing:.09em;color:#6e8077;font-weight:800}
.acervoReader>h2{margin:7px 0 18px;font-size:1.05rem;line-height:1.25;color:#213b31}
.acervoReader .viewerSearch{position:sticky;top:0;z-index:2;margin:0 0 12px;background:#fff}
.acervoViewerTextOnly .acervoTextHost{background:#fff;border:1px solid #dfe7e3;border-radius:12px;padding:6px}
.acervoViewerTextOnly .acervoExtractedText{
  max-height:none!important;overflow:visible!important;border:0!important;background:#fff!important;
  padding:16px 18px!important;color:#31483e!important;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;
  font-size:.78rem!important;line-height:1.72!important;font-weight:400!important;
  white-space:pre-wrap!important;word-break:normal!important;
}
.acervoReader>p{margin:12px 2px 0;font-size:.57rem;color:#74847c}
.acervoViewerActions{flex-wrap:wrap;justify-content:flex-end}

#acervoGerarVisualizacoes.busy{min-width:150px}
.repositoryFacts span{white-space:nowrap}

@media(max-width:700px){
  .acervoReader{width:calc(100% - 24px);padding:18px 0 34px}
  .acervoViewerTextOnly .acervoExtractedText{font-size:.72rem!important;line-height:1.62!important;padding:12px!important}
  .acervoViewerStage{padding:8px}
}


/* ==========================================================================
   FISCAMB 0.31.0 · Experiências por papel + Memória Jurídica
   ========================================================================== */
.roleDashboard{padding:28px 34px 42px;max-width:1500px;margin:0 auto}
.dashboardLoading,.dashboardError,.dashboardEmpty{
  padding:24px;border:1px solid #dce6e1;border-radius:14px;background:#fff;color:#66796f
}
.dashboardError{background:#fff3f1;border-color:#eccbc5;color:#8b4036}
.dashboardHero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;
  padding:24px 26px;border:1px solid #dce6e1;border-radius:20px;background:#fff;
}
.dashboardHero.fiscal{background:linear-gradient(135deg,#f7fbf8,#eef6f1)}
.dashboardHero.management{background:linear-gradient(135deg,#fff,#f4f8f6)}
.dashboardHero small{font-size:.52rem;letter-spacing:.12em;font-weight:900;color:#547065}
.dashboardHero h1{margin:4px 0 4px;font-size:1.55rem;color:#173d30}
.dashboardHero p{margin:0;color:#667970;font-size:.69rem}
.dashboardHeroActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboardHeroActions button{min-height:40px}
.dashboardStats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0
}
.dashboardStats article{
  padding:15px 16px;border:1px solid #dce5e0;border-radius:14px;background:#fff;
  display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:end
}
.dashboardStats article small{grid-column:1/-1;font-size:.46rem;letter-spacing:.06em;color:#718279;font-weight:850}
.dashboardStats article b{font-size:1.45rem;line-height:1;color:#214c3b}
.dashboardStats article span{font-size:.52rem;color:#75847d;padding-bottom:2px}
.dashboardStats article.attention{border-color:#e2c98e;background:#fffaf0}
.dashboardStats article.attention b{color:#916514}
.dashboardColumns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:14px}
.dashboardColumns.management{grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr)}
.dashboardPanel{border:1px solid #dce5e0;border-radius:16px;background:#fff;overflow:hidden}
.dashboardPanelHead{
  display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #e4ebe7
}
.dashboardPanelHead small{font-size:.45rem;color:#71827a;font-weight:900;letter-spacing:.08em}
.dashboardPanelHead h2{margin:2px 0 0;font-size:.9rem;color:#24483a}
.dashboardPanelHead>span{font-size:.52rem;color:#7b6a3b}
.dashboardOSList{display:flex;flex-direction:column}
.dashboardOS{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 14px;border-bottom:1px solid #edf1ef
}
.dashboardOS:last-child{border-bottom:0}
.dashboardOS.unassigned{box-shadow:inset 3px 0 0 #c79a3a;background:#fffdf7}
.dashboardOSMain{min-width:0}
.dashboardOSMain small{display:block;font-size:.45rem;font-weight:900;color:#708179}
.dashboardOSMain>button{
  display:block;max-width:100%;padding:0!important;margin:2px 0!important;border:0!important;background:transparent!important;
  color:#244b3b!important;font-weight:850!important;text-align:left!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.dashboardOSMain span{display:block;font-size:.49rem;color:#78877f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboardOSSide{display:flex;align-items:center;gap:8px}
.dashboardOSSide>b{font-size:.5rem;color:#61746a;white-space:nowrap}
.dashboardAssign{display:flex;gap:5px}
.dashboardAssign select{max-width:190px;min-height:34px;font-size:.52rem}
.dashboardAssign button{min-height:34px;padding:0 10px;font-size:.5rem}
.dashboardSituationList{display:flex;flex-direction:column}
.dashboardSituationList>button{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  padding:11px 14px!important;border:0!important;border-bottom:1px solid #edf1ef!important;border-radius:0!important;background:#fff!important;text-align:left!important
}
.dashboardSituationList span{min-width:0}
.dashboardSituationList b,.dashboardSituationList small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboardSituationList b{font-size:.54rem;color:#2d5042}
.dashboardSituationList small{font-size:.47rem;color:#78877f}
.dashboardSituationList em{font-style:normal;font-size:.45rem;color:#64776d;white-space:nowrap}
.dashboardWorkload{display:flex;flex-direction:column}
.dashboardWorkload article{
  display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid #edf1ef
}
.dashboardWorkload span b,.dashboardWorkload span small{display:block}
.dashboardWorkload span b{font-size:.53rem;color:#294d3f}
.dashboardWorkload span small{font-size:.44rem;color:#7a8a82}
.dashboardWorkload strong{font-size:.8rem;color:#315f4d}
.dashboardWorkload strong small{font-size:.42rem;color:#7a8a82}

.userManagementDialog{width:min(780px,94vw);max-height:88vh}
.userRoleList{padding:12px;display:flex;flex-direction:column;gap:7px}
.userRoleList article{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e0e8e4;border-radius:10px
}
.userRoleList article b,.userRoleList article small{display:block}
.userRoleList article b{font-size:.6rem;color:#284b3d}
.userRoleList article small{font-size:.47rem;color:#7a8982;margin-top:2px}
.userRoleList select{min-width:170px}

.legalMemoryHero{
  margin:28px auto 14px;max-width:1480px;padding:22px 24px;border:1px solid #dce5e0;border-radius:18px;background:#fff;
  display:flex;justify-content:space-between;gap:18px;align-items:flex-end
}
.legalMemoryHero h1{margin:3px 0 5px;font-size:1.45rem;color:#183f31}
.legalMemoryHero p{margin:0;font-size:.68rem;color:#677a70}
.legalMemoryGuard{padding:10px 12px;border-radius:10px;background:#f3f7f5;border:1px solid #dce6e1}
.legalMemoryGuard small,.legalMemoryGuard b{display:block}
.legalMemoryGuard small{font-size:.43rem;font-weight:900;color:#71837a}
.legalMemoryGuard b{font-size:.53rem;color:#35594a;margin-top:2px}
.legalMemoryToolbar{
  max-width:1480px;margin:0 auto 12px;display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:9px;align-items:center
}
.legalMemoryToolbar input[type="search"]{min-height:44px}
.legalMemoryToolbar label{font-size:.55rem;color:#536b60;display:flex;align-items:center;gap:6px;white-space:nowrap}
.legalMemoryStats{
  max-width:1480px;margin:0 auto 12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px
}
.legalMemoryStats article{padding:11px 13px;border:1px solid #dce5e0;border-radius:12px;background:#fff}
.legalMemoryStats b,.legalMemoryStats span{display:block}
.legalMemoryStats b{font-size:1rem;color:#315f4d}
.legalMemoryStats span{font-size:.47rem;color:#718179;margin-top:2px}
.legalMemoryGrid{
  max-width:1480px;margin:0 auto 44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}
.legalMemoryCard{
  display:block!important;text-align:left!important;padding:14px!important;border:1px solid #dae5df!important;border-radius:14px!important;
  background:#fff!important;min-height:172px;transition:.15s ease
}
.legalMemoryCard:hover{border-color:#afc8bb!important;box-shadow:0 8px 22px rgba(35,78,59,.07)}
.legalMemoryCardHead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.legalMemoryCardHead span{font-size:.43rem;font-weight:900;color:#74857c;text-transform:uppercase}
.legalMemoryCardHead em{font-style:normal;font-size:.41rem;padding:3px 6px;border-radius:999px;background:#edf5f0;color:#315f4d}
.legalMemoryCard h3{margin:8px 0 4px;font-size:.78rem;color:#23493a}
.legalMemoryCard p{margin:0 0 12px;font-size:.5rem;line-height:1.45;color:#6e7e76}
.legalMemoryEvidence{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:end;border-top:1px solid #edf1ef;padding-top:9px}
.legalMemoryEvidence b{font-size:1rem;color:#315f4d}
.legalMemoryEvidence span,.legalMemoryEvidence strong{font-size:.45rem;color:#77877f}
.legalMemoryArticles{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.legalMemoryArticles span,.legalMemoryTopics span{
  padding:3px 6px;border-radius:999px;background:#f1f5f3;border:1px solid #dde6e1;font-size:.43rem;color:#466257
}
.legalMemoryArticles small{font-size:.38rem;color:#7d8b84}
.legalMemoryDialog{width:min(1040px,95vw);max-height:90vh}
.legalMemoryDetail{padding:15px 16px 22px;overflow:auto;max-height:76vh}
.legalMemoryNotice{padding:9px 11px;border-radius:9px;background:#fff8e8;border:1px solid #eadbb8;color:#785d29;font-size:.53rem}
.legalMemoryTopics{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}
.legalMemoryDetailGrid{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}
.legalMemoryDetailGrid>section{padding:12px;border:1px solid #e0e7e3;border-radius:11px;background:#fafcfb}
.legalMemoryDetailGrid>section>small{font-size:.45rem;font-weight:900;color:#73847c}
.legalArticleRow,.legalExample{display:flex!important;justify-content:space-between!important;gap:8px!important;align-items:center!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #e8eeeb!important;border-radius:0!important;background:transparent!important;text-align:left!important}
.legalArticleRow b,.legalExample b{font-size:.53rem;color:#315647}
.legalArticleRow span,.legalExample span{font-size:.44rem;color:#7a8982}
.legalExample b{max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legalTextButton{margin-top:12px}
.legalSourcePending{margin-top:12px;padding:9px 11px;border-radius:9px;background:#f4f6f5;color:#728078;font-size:.5rem}
.legalFullText{padding:14px;overflow:auto;max-height:78vh}
.legalFullText article{padding:10px 12px;border-bottom:1px solid #e4eae7}
.legalFullText article b{font-size:.56rem;color:#315a49}
.legalFullText article p{margin:5px 0 0;font-size:.58rem;line-height:1.55;color:#3e5149}

/* Viewer de imagem: roda = zoom; barras aparecem quando o conteúdo excede o quadro. */
.acervoViewerStage{overflow:scroll!important;scrollbar-gutter:stable both-edges}
.acervoViewerStage::-webkit-scrollbar{width:12px;height:12px}
.acervoViewerStage::-webkit-scrollbar-thumb{background:#53645d;border-radius:999px;border:3px solid #111714}
.acervoViewerStage::-webkit-scrollbar-track{background:#111714}

@media(max-width:980px){
  .dashboardStats,.legalMemoryStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboardColumns,.dashboardColumns.management,.legalMemoryDetailGrid{grid-template-columns:1fr}
  .legalMemoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .roleDashboard{padding:14px 10px 28px}
  .dashboardHero,.legalMemoryHero{align-items:flex-start;flex-direction:column;padding:16px}
  .dashboardHeroActions{justify-content:flex-start;width:100%}
  .dashboardStats,.legalMemoryStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboardOS{grid-template-columns:1fr}
  .dashboardOSSide{align-items:flex-start;flex-direction:column}
  .dashboardAssign{width:100%}.dashboardAssign select{flex:1;max-width:none}
  .legalMemoryHero,.legalMemoryToolbar,.legalMemoryStats,.legalMemoryGrid{margin-left:10px;margin-right:10px}
  .legalMemoryToolbar{grid-template-columns:1fr}
  .legalMemoryGrid{grid-template-columns:1fr}
  .userRoleList article{align-items:flex-start;flex-direction:column}
  .userRoleList select{width:100%}
}
