/* ACE cascade: ace-legacy. Prioridade definida em ace-fonts.css. */
@layer ace-legacy {
:root{
  --brand-900:#183c2c;
  --brand-800:#21563c;
  --brand-700:#2f7a52;
  --brand-600:#3e9667;
  --accent-700:#355f9f;
  --accent-600:#4c7cc5;
  --warn-700:#c78615;
  --danger-700:#c34747;
  --bg:#eef2ef;
  --bg-soft:#f7f9f8;
  --card:#ffffff;
  --text:#1b252e;
  --muted:#66727c;
  --border:#d6dfe2;
  --shadow:0 14px 30px rgba(20,35,28,.08);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --content:1180px;
  --gap:18px;
}

.dashboard-page{
  background:
    radial-gradient(circle at top left, rgba(24,60,44,.16), transparent 24%),
    radial-gradient(circle at top right, rgba(53,95,159,.12), transparent 24%),
    linear-gradient(180deg, #edf4f0 0%, #e7efeb 180px, #edf2ef 100%);
}

.dashboard-page .content-wrap,
.dashboard-page .hero-grid,
.dashboard-page .topbar-row{
  max-width:1360px;
}

.dashboard-page .topbar{
  background:
    linear-gradient(120deg, rgba(10,43,29,.96), rgba(15,95,47,.96) 56%, rgba(23,107,55,.94)),
    radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 32%);
  box-shadow:0 16px 34px rgba(10,32,22,.24);
}

.dashboard-page .topbar .brand-copy h1{
  font-size:1.34rem;
}

.dashboard-page .topbar .brand-copy p{
  font-size:1rem;
  line-height:1.4;
}

.dashboard-page .hero-grid{
  margin-top:22px;
  gap:14px;
}

.dashboard-page .hero-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,248,246,.98)),
    linear-gradient(135deg, rgba(31,86,60,.03), rgba(76,124,197,.04));
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 18px 42px rgba(24,60,44,.10);
  padding:22px;
  min-height:132px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dashboard-page .hero-card:not(.is-priority){
  position:relative;
  overflow:hidden;
}

.dashboard-page .hero-card:not(.is-priority)::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5);
}

.dashboard-page .hero-card.is-focus{
  background:linear-gradient(180deg,#fff4f4,#ffe8e8);
  border-color:rgba(195,71,71,.16);
}

.dashboard-page .hero-card.is-accent{
  background:linear-gradient(180deg,#f2f6ff,#e7efff);
  border-color:rgba(53,95,159,.16);
}

.dashboard-page .hero-card.is-warn{
  background:linear-gradient(180deg,#fff8ea,#fff1cf);
  border-color:rgba(199,134,21,.18);
}

.dashboard-page .hero-card.is-priority{
  background:
    linear-gradient(135deg,#113221,#17533a 58%,#2f6f4f),
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 34%);
  box-shadow:0 18px 40px rgba(17,50,33,.24);
}

.dashboard-page .hero-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 44px rgba(24,60,44,.14);
}

.dashboard-page .card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,247,.98));
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 18px 42px rgba(24,60,44,.08);
}

.dashboard-page .card::before{
  content:"";
  display:block;
  height:4px;
  margin:-20px -20px 16px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.dashboard-page .section-title{
  font-size:1.12rem;
  letter-spacing:.11em;
}

.dashboard-page .toolbar{
  grid-template-columns:repeat(8,minmax(0,1fr));
}

.dashboard-page .metric-grid{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:14px;
}

.dashboard-page .metric-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#f4f8f6);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 12px 24px rgba(24,60,44,.06);
  padding:18px 16px;
}

.dashboard-page .metric-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5);
}

.dashboard-page .metric-card.is-danger{
  background:linear-gradient(180deg,#fff5f5,#ffecec);
  border-color:rgba(195,71,71,.18);
}

.dashboard-page .metric-card.is-danger::before{
  background:linear-gradient(90deg,#d96464,#c34747);
}

.dashboard-page .metric-card.is-accent{
  background:linear-gradient(180deg,#f3f7ff,#eaf0ff);
  border-color:rgba(53,95,159,.16);
}

.dashboard-page .metric-card.is-accent::before{
  background:linear-gradient(90deg,#5c8bd7,#355f9f);
}

.dashboard-page .metric-card.is-warn{
  background:linear-gradient(180deg,#fff9ef,#fff1d6);
  border-color:rgba(199,134,21,.18);
}

.dashboard-page .metric-card.is-warn::before{
  background:linear-gradient(90deg,#e8b84f,#c78615);
}

.dashboard-page .ranking-card,
.dashboard-page .chart-card,
.dashboard-page .insight-card,
.dashboard-page .property-card,
.dashboard-page .history-card,
.dashboard-page .agent-card{
  background:linear-gradient(180deg,#ffffff,#f7faf8);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 12px 24px rgba(24,60,44,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dashboard-page .ranking-card:hover,
.dashboard-page .chart-card:hover,
.dashboard-page .insight-card:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 28px rgba(24,60,44,.10);
}

.dashboard-page .table-wrap{
  background:linear-gradient(180deg,#ffffff,#f8fbf9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.dashboard-page th{
  background:linear-gradient(180deg,#edf5f1,#e3eee8);
  font-size:.92rem;
  letter-spacing:.04em;
}

.dashboard-page .map-shell{
  height:600px;
  border:1px solid rgba(24,60,44,.12);
  box-shadow:0 14px 34px rgba(24,60,44,.10);
}

.dashboard-page .panel-side-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.92fr);
  gap:18px;
  align-items:start;
}

.dashboard-page .panel-maps-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  align-items:start;
}

.dashboard-page .panel-map-card .map-shell{
  height:560px;
}

.dashboard-page .panel-strategy-card{
  min-height:560px;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.dashboard-page .panel-subsection{
  display:grid;
  gap:12px;
}

.dashboard-page .panel-mini-title{
  margin:0;
  color:var(--brand-900);
  font-size:.92rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-page .map-toggle,
.dashboard-page .territory-summary{
  background:linear-gradient(180deg,#ffffff,#f4f8f6);
  border:1px solid rgba(24,60,44,.10);
}

.dashboard-page .map-toggle{
  min-height:42px;
  font-size:.92rem;
  font-weight:800;
}

.dashboard-page .territory-summary{
  font-size:.95rem;
  line-height:1.45;
}

.dashboard-page .sync-banner{
  background:#173826;
  box-shadow:0 12px 28px rgba(17,50,33,.24);
}

.dashboard-page .page-shell{
  position:relative;
}

.dashboard-page .page-shell::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 18%, rgba(47,122,82,.10), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(76,124,197,.08), transparent 20%),
    radial-gradient(circle at 72% 78%, rgba(199,134,21,.08), transparent 18%);
  opacity:.95;
}

.dashboard-page .card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,248,246,.98)),
    radial-gradient(circle at top right, rgba(47,122,82,.06), transparent 30%);
}

.dashboard-page .ranking-list,
.dashboard-page .chart-list,
.dashboard-page .insight-list,
.dashboard-page #territoryComparison,
.dashboard-page #streetComparison,
.dashboard-page #reportScreen,
.dashboard-page #drilldownPanel{
  min-height:148px;
  padding:14px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(250,252,251,.98), rgba(241,246,243,.98)),
    radial-gradient(circle at top left, rgba(76,124,197,.05), transparent 26%);
  border:1px solid rgba(24,60,44,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.dashboard-page .ranking-list:empty::before,
.dashboard-page .chart-list:empty::before,
.dashboard-page .insight-list:empty::before,
.dashboard-page #territoryComparison:empty::before,
.dashboard-page #streetComparison:empty::before,
.dashboard-page #reportScreen:empty::before,
.dashboard-page #drilldownPanel:empty::before{
  content:"Selecione um período ou filtro para preencher esta área.";
  min-height:124px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  border:1px dashed rgba(24,60,44,.14);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(245,249,247,.92));
  color:var(--muted);
  font-size:.92rem;
  font-weight:700;
  text-align:center;
}

.dashboard-page .table-wrap{
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,249,247,.99)),
    radial-gradient(circle at top right, rgba(76,124,197,.05), transparent 24%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 14px 28px rgba(24,60,44,.06);
  border:1px solid rgba(24,60,44,.10);
}

.dashboard-page .map-shell{
  background:
    linear-gradient(180deg, rgba(233,241,236,.95), rgba(245,249,247,.96)),
    radial-gradient(circle at top left, rgba(47,122,82,.10), transparent 24%),
    radial-gradient(circle at bottom right, rgba(76,124,197,.08), transparent 28%);
}

.dashboard-page .map-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(47,122,82,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,122,82,.035) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:.65;
}

.dashboard-page .territory-summary,
.dashboard-page .map-toggle,
.dashboard-page .empty-state{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,248,246,.98)),
    radial-gradient(circle at top left, rgba(199,134,21,.06), transparent 26%);
}

.field-page{
  background:
    radial-gradient(circle at top left, rgba(24,60,44,.18), transparent 24%),
    radial-gradient(circle at top right, rgba(199,134,21,.10), transparent 22%),
    linear-gradient(180deg, #eff5f1 0%, #e8f0eb 170px, #edf2ef 100%);
  touch-action:pan-x pan-y;
  -ms-touch-action:pan-x pan-y;
  -webkit-text-size-adjust:100%;
  overscroll-behavior:none;
}

.field-page .login-shell{
  background:
    radial-gradient(circle at top left, rgba(88,170,118,.20), transparent 24%),
    radial-gradient(circle at bottom right, rgba(232,184,79,.12), transparent 28%),
    linear-gradient(160deg,#143527,#18412e 46%,#10251b 100%);
}

.field-page .login-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,246,.98)),
    radial-gradient(circle at top right, rgba(47,122,82,.06), transparent 34%);
  border:1px solid rgba(207,217,211,.92);
  color:#183226;
  box-shadow:0 26px 56px rgba(10,32,22,.18);
  backdrop-filter:none;
}

.field-page .topbar{
  background:
    linear-gradient(120deg, rgba(10,43,29,.97), rgba(15,95,47,.96) 58%, rgba(23,107,55,.94)),
    radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 34%);
  box-shadow:0 14px 30px rgba(10,32,22,.22);
}

.field-page .brand-copy h1{
  letter-spacing:.015em;
}

.field-page .nav-tabs{
  gap:10px;
}

.field-page .tab-btn{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);
}

.field-page .tab-btn.active{
  background:rgba(255,255,255,.16);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 10px 24px rgba(8,28,19,.18);
}

.field-page .hero-grid{
  margin-top:22px;
  gap:14px;
}

.field-page .hero-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,#ffffff,#f4f8f6),
    linear-gradient(135deg, rgba(31,86,60,.03), rgba(199,134,21,.03));
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 16px 34px rgba(24,60,44,.08);
}

.field-page .hero-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#c78615);
}

.field-page .hero-card.is-focus{
  background:linear-gradient(180deg,#fff5f5,#ffe8e8);
  border-color:rgba(195,71,71,.16);
}

.field-page .hero-card.is-focus::before{
  background:linear-gradient(90deg,#d96464,#c34747);
}

.field-page .hero-card.is-accent{
  background:linear-gradient(180deg,#f1f6ff,#e7efff);
  border-color:rgba(53,95,159,.16);
}

.field-page .hero-card.is-accent::before{
  background:linear-gradient(90deg,#5c8bd7,#355f9f);
}

.field-page .hero-card.is-warn{
  background:linear-gradient(180deg,#fff8ec,#fff0d2);
  border-color:rgba(199,134,21,.18);
}

.field-page .hero-card.is-warn::before{
  background:linear-gradient(90deg,#e8b84f,#c78615);
}

.field-page .hero-card.is-priority{
  background:
    linear-gradient(135deg,#113221,#17533a 58%,#2f6f4f),
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 34%);
  box-shadow:0 18px 40px rgba(17,50,33,.24);
}

.field-page .hero-card.is-priority::before{
  background:linear-gradient(90deg,#f0d37a,#ffffff);
  opacity:.75;
}

.field-page .screen-head-copy strong{
  font-size:1.34rem;
  font-weight:900;
  line-height:1.18;
  letter-spacing:0;
}

.field-page .screen-badge{
  background:linear-gradient(180deg,#f8fbf9,#e9f2ed);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 10px 22px rgba(24,60,44,.08);
}

.field-page .card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,247,.98));
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 18px 38px rgba(24,60,44,.08);
}

.field-page .card::before{
  content:"";
  display:block;
  height:4px;
  margin:-20px -20px 16px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 58%,#c78615);
}

.field-page .btn{
  box-shadow:0 10px 22px rgba(24,60,44,.06);
}

.field-page .btn-primary{
  background:linear-gradient(180deg,#3a8f61,#21563c);
}

.field-page .btn-secondary{
  background:linear-gradient(180deg,#5a8fe0,#355f9f);
}

.field-page .btn-soft{
  background:linear-gradient(180deg,#ffffff,#f2f7f4);
}

.field-page .btn-warn{
  background:linear-gradient(180deg,#edc45f,#c78615);
}

.field-page .selected-card{
  background:linear-gradient(180deg,#f7fbf9,#edf6f1);
  border:1px solid rgba(47,122,82,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.field-page .meta-pill,
.field-page .status-pill,
.field-page .tag{
  background:linear-gradient(180deg,#ffffff,#f3f8f5);
  border:1px solid rgba(24,60,44,.10);
}

.field-page .quick-btn{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#f4f8f6);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 12px 24px rgba(24,60,44,.05);
}

.field-page .quick-btn::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#2f7a52,#c78615);
}

.field-page .deposit-card{
  background:linear-gradient(180deg,#ffffff,#f6faf8);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 12px 26px rgba(24,60,44,.05);
}

.field-page .deposit-card.is-active{
  background:linear-gradient(180deg,#fff7f7,#fff0f0);
  border-color:rgba(195,71,71,.20);
}

.field-page .summary-tile,
.field-page .metric-card{
  background:linear-gradient(180deg,#ffffff,#f5f9f7);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 12px 22px rgba(24,60,44,.05);
}

.field-page .map-shell{
  border:1px solid rgba(24,60,44,.12);
  box-shadow:0 14px 34px rgba(24,60,44,.10);
}

.field-page .sync-banner{
  background:#173826;
  box-shadow:0 12px 28px rgba(17,50,33,.24);
}

.visit-water-access-grid{
  grid-template-columns:minmax(0,1fr);
}

.visit-water-access-grid #waterAccessChoices{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.visit-water-access-grid #waterAccessChoices .choice-btn{
  min-height:46px;
  padding:8px 10px;
  border-radius:8px;
}

.visit-water-access-grid #waterAccessChoices .choice-btn span{
  display:none;
}

.field-page .page-shell{
  position:relative;
}

.field-page .page-shell::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(47,122,82,.10), transparent 18%),
    radial-gradient(circle at 88% 16%, rgba(199,134,21,.08), transparent 20%),
    radial-gradient(circle at 76% 82%, rgba(76,124,197,.06), transparent 16%);
  opacity:.95;
}

.field-page .card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,246,.98)),
    radial-gradient(circle at top right, rgba(47,122,82,.05), transparent 30%);
}

.field-page .property-card,
.field-page .history-card,
.field-page .insight-card,
.field-page .chart-card,
.field-page .agent-card,
.field-page .metric-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,246,.98)),
    radial-gradient(circle at top left, rgba(199,134,21,.04), transparent 26%);
}

.field-page .selected-card,
.field-page .property-list,
.field-page .summary-tile,
.field-page .deposit-card{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 12px 26px rgba(24,60,44,.06);
}

.field-page .map-shell{
  background:
    linear-gradient(180deg, rgba(233,241,236,.95), rgba(245,249,247,.96)),
    radial-gradient(circle at top left, rgba(47,122,82,.10), transparent 24%),
    radial-gradient(circle at bottom right, rgba(199,134,21,.07), transparent 28%);
}

.field-page .map-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(47,122,82,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,122,82,.035) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:.55;
}

.field-page .insight-list:empty::before,
.field-page .ranking-list:empty::before,
.field-page .chart-list:empty::before,
.field-page .history-list:empty::before{
  content:"Aguardando preenchimento nesta seção.";
  min-height:108px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  border:1px dashed rgba(24,60,44,.14);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(245,249,247,.92));
  color:var(--muted);
  font-size:.9rem;
  font-weight:700;
  text-align:center;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(63,150,103,.10), transparent 32%),
    radial-gradient(circle at top right, rgba(76,124,197,.08), transparent 28%),
    linear-gradient(180deg, #f4f7f5 0%, var(--bg) 180px, #edf1ef 100%);
  color:var(--text);
  line-height:1.45;
}

a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.hidden{display:none}

.page-shell{min-height:100vh;padding-bottom:44px}
.content-wrap{max-width:var(--content);margin:0 auto;padding:0 16px}

.topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:linear-gradient(120deg,#173826,#1f4d35 62%,#2e6b4b);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 26px rgba(16,32,23,.16);
}

.topbar-row{
  max-width:var(--content);
  margin:0 auto;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.brand-mark{
  width:52px;
  height:52px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  font-size:24px;
  flex:0 0 auto;
}

.brand-copy{
  flex:1 1 280px;
  min-width:220px;
}

.brand-copy h1{
  margin:0;
  font-size:1.28rem;
  letter-spacing:.02em;
}

.brand-copy p{
  margin:4px 0 0;
  color:#d6eadc;
  font-size:.98rem;
  line-height:1.35;
}

.chip-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.weather-strip{
  flex:0 1 340px;
  min-width:260px;
  padding:12px 14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  align-self:flex-end;
}

.weather-strip__city{
  display:block;
  margin:0 0 4px;
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#d6eadc;
}

.weather-strip strong{
  display:block;
  font-size:1rem;
  line-height:1.2;
  color:#fff;
}

.weather-strip__meta{
  display:block;
  margin-top:4px;
  color:#d6eadc;
  font-size:.8rem;
}

.weather-strip__footer{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.weather-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
}

.weather-pill.is-ok{background:rgba(61,150,103,.22)}
.weather-pill.is-warn{background:rgba(199,134,21,.24)}
.weather-pill.is-danger{background:rgba(195,71,71,.24)}

.weather-stamp{
  color:#d6eadc;
  font-size:.74rem;
}

.chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 15px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.86rem;
  font-weight:700;
  white-space:nowrap;
}

.chip.is-live{background:rgba(255,255,255,.18)}
.chip.is-ok{background:rgba(61,150,103,.20)}
.chip.is-warn{background:rgba(199,134,21,.20)}
.chip.is-danger{background:rgba(195,71,71,.20)}

.header-sync-btn{
  background:rgba(96,153,235,.20);
  border-color:rgba(255,255,255,.22);
  cursor:pointer;
}

.header-sync-btn:disabled{
  cursor:not-allowed;
  opacity:.72;
}

.nav-tabs{
  max-width:var(--content);
  margin:0 auto;
  padding:0 16px 14px;
  display:flex;
  gap:8px;
  overflow:auto;
}

.nav-tabs::-webkit-scrollbar{height:0}

.tab-btn{
  border:none;
  color:rgba(255,255,255,.78);
  background:transparent;
  border-radius:18px;
  min-width:122px;
  min-height:50px;
  padding:13px 16px;
  font-weight:800;
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:background .18s ease, transform .18s ease, color .18s ease, box-shadow .18s ease;
}

.tab-btn.active{
  background:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.tab-btn:hover{
  background:rgba(255,255,255,.10);
  color:#fff;
}

.tab-btn:active{
  transform:translateY(1px);
}

.hero-grid{
  max-width:var(--content);
  margin:18px auto 0;
  padding:0 16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.hero-card{
  background:linear-gradient(180deg,#ffffff,#f8faf9);
  border:1px solid rgba(31,86,60,.08);
  box-shadow:var(--shadow);
  border-radius:24px;
  padding:20px;
  min-height:126px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hero-card[hidden]{
  display:none;
}

.field-page #screen-painel .hero-card{
  min-height:108px;
  padding:16px 18px;
}

.field-page #screen-painel .hero-card strong{
  font-size:2rem;
}

.field-page #screen-painel .hero-card span{
  font-size:.9rem;
}

.hero-card small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.8rem;
  font-weight:800;
  margin-bottom:10px;
}

.hero-card strong{
  display:block;
  font-size:2.25rem;
  line-height:1.05;
  color:var(--brand-900);
}

.hero-card span{
  display:block;
  margin-top:10px;
  color:var(--muted);
  font-size:.97rem;
  line-height:1.4;
}

.hero-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(20,35,28,.11);
}

.hero-card.is-focus strong{color:var(--danger-700)}
.hero-card.is-accent strong{color:var(--accent-700)}
.hero-card.is-warn strong{color:var(--warn-700)}

.hero-card.is-priority{
  grid-column:span 2;
  background:linear-gradient(135deg,#173826,#1d4c35 60%,#2a704c);
  color:#fff;
  border-color:rgba(255,255,255,.06);
}

.hero-card.is-priority small,
.hero-card.is-priority span{color:#d6eadc}

.hero-card.is-priority strong{
  font-size:1.38rem;
  line-height:1.35;
  color:#fff;
}

.screen{
  display:none;
  max-width:var(--content);
  margin:0 auto;
  padding:18px 16px 0;
}

.screen.active{display:block}

.screen-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:2px 0 16px;
}

.screen-head-copy strong{
  display:block;
  font-size:1.34rem;
  font-weight:900;
  line-height:1.18;
  letter-spacing:0;
  color:var(--brand-900);
}

.screen-head-copy span{
  display:block;
  color:var(--muted);
  font-size:1rem;
  margin-top:4px;
  line-height:1.4;
}

.screen-badge{
  min-width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(180deg,#eff5f2,#e5eeea);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  color:var(--brand-800);
  border:1px solid var(--border);
}

.field-guide{
  margin:0 0 16px;
  padding:16px;
  border-radius:22px;
  border:1.5px solid rgba(24,60,44,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(241,247,243,.98)),
    radial-gradient(circle at top right, rgba(47,122,82,.07), transparent 28%);
  box-shadow:0 14px 28px rgba(24,60,44,.07);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:14px;
  align-items:center;
}

.field-guide.is-warn{
  border-color:rgba(199,134,21,.24);
  background:
    linear-gradient(180deg,#fffdf6,#fff5df),
    radial-gradient(circle at top right, rgba(199,134,21,.10), transparent 28%);
}

.field-guide.is-danger{
  border-color:rgba(195,71,71,.24);
  background:linear-gradient(180deg,#fff8f8,#ffecec);
}

.field-guide.is-accent{
  border-color:rgba(53,95,159,.24);
  background:linear-gradient(180deg,#f7fbff,#edf4ff);
}

.field-guide-main small{
  display:block;
  color:#5b6d64;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}

.field-guide-main strong{
  display:block;
  color:#173826;
  font-size:1.22rem;
  line-height:1.22;
}

.field-guide-main span{
  display:block;
  margin-top:7px;
  color:#53645a;
  font-size:.95rem;
  line-height:1.42;
  font-weight:700;
}

.field-guide-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.field-guide-item{
  min-height:62px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(24,60,44,.12);
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}

.field-guide-item span{
  color:#64756c;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.field-guide-item strong{
  color:#173826;
  font-size:.95rem;
  line-height:1.22;
}

.field-guide-item.is-warn{
  border-color:rgba(199,134,21,.24);
  background:#fff8e8;
}

.field-guide-item.is-danger{
  border-color:rgba(195,71,71,.24);
  background:#fff0f0;
}

.field-guide-item.is-accent{
  border-color:rgba(53,95,159,.22);
  background:#eef5ff;
}

.grid{
  display:grid;
  gap:var(--gap);
}

.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}

.card{
  background:rgba(255,255,255,.97);
  border:1px solid rgba(31,86,60,.10);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  padding:22px;
}

.card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.card-header h2,
.section-title{
  margin:0;
  width:100%;
  text-align:center;
  color:var(--brand-900);
  font-size:1.14rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.card-note{
  margin:-6px 0 14px;
  color:var(--muted);
  text-align:center;
  font-size:.99rem;
  line-height:1.45;
}

.section-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#edf5f1;
  border:1px solid var(--border);
  color:var(--brand-800);
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.field{
  display:grid;
  gap:8px;
}

.field label{
  color:var(--muted);
  font-size:.88rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.field-help{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.42;
}

.street-suggestion{
  margin-top:6px;
}

.street-suggestion.is-ok{
  color:#21563c;
  font-weight:800;
}

.street-suggestion.is-warn{
  color:#8d6915;
  font-weight:800;
}

.link-button{
  border:0;
  padding:0;
  margin-left:6px;
  color:var(--brand-700);
  background:transparent;
  font:inherit;
  font-weight:900;
  text-decoration:underline;
  cursor:pointer;
}

input,select,textarea{
  width:100%;
  min-height:62px;
  border:1.6px solid var(--border);
  background:#fff;
  color:var(--text);
  border-radius:20px;
  padding:15px 17px;
  font-size:1.05rem;
  line-height:1.35;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

textarea{
  min-height:120px;
  resize:vertical;
}

input:focus,select:focus,textarea:focus{
  border-color:var(--brand-700);
  box-shadow:0 0 0 4px rgba(63,150,103,.10);
}

select:disabled{
  background:#f1f5f3;
  color:#7a8680;
  cursor:not-allowed;
}

input[readonly]{
  background:#f1f5f3;
  color:#42544b;
  cursor:not-allowed;
}

.btn{
  border:none;
  min-height:60px;
  border-radius:20px;
  padding:15px 20px;
  font-size:1.05rem;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  width:100%;
  box-shadow:0 10px 20px rgba(24,60,44,.08);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.btn:disabled{opacity:.6;cursor:not-allowed}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 24px rgba(24,60,44,.12)}
.btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 8px 16px rgba(24,60,44,.10)}

.btn-primary{background:linear-gradient(180deg,var(--brand-700),var(--brand-800));color:#fff}
.btn-secondary{background:linear-gradient(180deg,var(--accent-600),var(--accent-700));color:#fff}
.btn-gps{background:linear-gradient(180deg,#8a63d2,#6840ba);color:#fff}
.btn-soft{background:#f8fbf9;border:1px solid var(--border);color:var(--brand-800)}
.btn-warn{background:linear-gradient(180deg,#e8b84f,var(--warn-700));color:#fff}
.btn-danger{background:linear-gradient(180deg,#d96565,var(--danger-700));color:#fff}

.btn-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.dashboard-day-actions{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.stepper{
  display:grid;
  grid-template-columns:56px 1fr 56px;
  gap:10px;
  align-items:center;
}

.stepper button{
  min-height:60px;
  border-radius:20px;
  border:1px solid var(--border);
  background:#f5f8f7;
  color:var(--brand-900);
  font-size:1.6rem;
  font-weight:900;
  transition:background .16s ease, transform .16s ease, box-shadow .16s ease;
}

.stepper button:hover{
  background:#eef4f1;
  box-shadow:0 10px 18px rgba(24,60,44,.08);
}

.stepper input{text-align:center;font-weight:800}

.choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.choice-btn{
  border:1.5px solid var(--border);
  background:#fbfcfc;
  border-radius:22px;
  min-height:82px;
  padding:16px;
  color:var(--text);
  font-size:1.04rem;
  font-weight:800;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.choice-btn span{
  display:block;
  margin-top:4px;
  font-size:.9rem;
  color:var(--muted);
  font-weight:700;
  line-height:1.35;
}

.choice-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(24,60,44,.08);
}

.choice-btn.active{
  border-color:var(--brand-700);
  background:#edf7f1;
  color:var(--brand-900);
  box-shadow:0 0 0 4px rgba(63,150,103,.10);
}

.choice-btn.active.is-danger{
  border-color:var(--danger-700);
  background:#fff2f2;
  color:var(--danger-700);
  box-shadow:0 0 0 4px rgba(195,71,71,.10);
}

.summary-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.summary-tile{
  background:#f8fbf9;
  border:1px solid var(--border);
  border-radius:20px;
  padding:16px;
}

.summary-tile small{
  display:block;
  font-size:.78rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:8px;
}

.summary-tile strong{
  font-size:1.8rem;
  color:var(--brand-900);
}

.selected-card{
  border-radius:20px;
  border:1px solid rgba(47,122,82,.16);
  background:linear-gradient(180deg,#fbfdfc,#f1f7f3);
  padding:16px 16px 14px;
  box-shadow:0 10px 22px rgba(24,60,44,.05);
}

.selected-card h3{
  margin:0 0 8px;
  font-size:1.3rem;
  color:var(--brand-900);
}

.selected-card p{
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.45;
  touch-action:pan-x pan-y;
  overscroll-behavior:none;
}

.selected-card-top{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.selected-card-top strong{
  color:var(--brand-900);
  font-size:1.05rem;
  line-height:1.3;
}

.selected-card-top span{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.4;
}

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

.selected-card-item{
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(47,122,82,.12);
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.selected-card-item small{
  color:#62716b;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.selected-card-item strong{
  color:var(--brand-900);
  font-size:.96rem;
  line-height:1.35;
}

.selected-card-pills{
  margin-top:12px;
}

.visit-screen .selected-card{
  max-width:940px;
  padding:12px 12px 10px;
  border-radius:18px;
}

.visit-screen .selected-card-top{
  gap:2px;
}

.visit-screen .selected-card-top strong{
  font-size:1rem;
  line-height:1.24;
}

.visit-screen .selected-card-top span{
  font-size:.86rem;
  line-height:1.32;
}

.visit-screen .selected-card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.visit-screen .selected-card-item{
  padding:9px 10px;
  border-radius:14px;
  gap:2px;
}

.visit-screen .selected-card-item small{
  font-size:.7rem;
}

.visit-screen .selected-card-item strong{
  font-size:.88rem;
  line-height:1.28;
}

.visit-screen .selected-card-pills{
  margin-top:10px;
  gap:6px;
}

.visit-screen .selected-card-pills .meta-pill,
.visit-screen .selected-card-pills .status-pill{
  min-height:32px;
  padding:7px 11px;
  font-size:.8rem;
}

.inherited-field{
  margin-top:16px;
}

.inherited-visit-box{
  border:1px solid rgba(47,122,82,.18);
  border-radius:22px;
  background:linear-gradient(180deg,#f8fbfa,#eef6f1);
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 24px rgba(24,60,44,.06);
}

.inherited-visit-head{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.inherited-visit-head strong{
  color:var(--brand-900);
  font-size:1rem;
}

.inherited-visit-head span,
.inherited-visit-empty span{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.45;
}

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

.inherited-visit-item{
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(47,122,82,.14);
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.inherited-visit-item small{
  color:#62716b;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.inherited-visit-item strong{
  color:var(--brand-900);
  font-size:1rem;
  line-height:1.35;
}

.inherited-visit-empty{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.inherited-visit-empty strong{
  color:var(--brand-900);
  font-size:1rem;
}

.compact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.compact-actions .btn{
  width:auto;
  min-width:170px;
  min-height:46px;
  border-radius:14px;
  padding:10px 14px;
  font-size:.92rem;
}

.meta-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.meta-pill,
.status-pill,
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--brand-800);
  font-size:.86rem;
  font-weight:800;
}

.status-pill.is-danger{background:#fff3f3;color:var(--danger-700);border-color:#f0caca}
.status-pill.is-warn{background:#fff8eb;color:var(--warn-700);border-color:#eed59c}
.status-pill.is-accent{background:#eff4ff;color:var(--accent-700);border-color:#cfdbf6}
.status-pill.is-ok{background:#edf7f1;color:var(--brand-800);border-color:#cde2d5}

.quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.quick-btn{
  border:1px solid var(--border);
  background:linear-gradient(180deg,#fff,#f7faf8);
  border-radius:22px;
  min-height:108px;
  padding:16px;
  text-align:left;
  box-shadow:0 10px 22px rgba(24,60,44,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.quick-btn strong{
  display:block;
  font-size:1.05rem;
  margin-bottom:6px;
}

.quick-btn span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.4;
}

.quick-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(24,60,44,.10);
}

.deposit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.deposit-card{
  border:1px solid var(--border);
  background:#fbfcfc;
  border-radius:24px;
  padding:20px;
  display:grid;
  gap:14px;
}

.deposit-card.is-active{border-color:#d9b4b4;background:#fff9f9}

.deposit-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.deposit-top strong{
  display:block;
  font-size:1.15rem;
  color:var(--brand-900);
}

.deposit-top span{
  display:block;
  color:var(--muted);
  font-size:.88rem;
  margin-top:4px;
}

.deposit-total{
  min-width:70px;
  min-height:70px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.7rem;
  font-weight:900;
  color:var(--brand-800);
}

.deposit-focus-box{
  border:1px dashed #d6dfe2;
  border-radius:18px;
  padding:14px;
  display:grid;
  gap:12px;
}

.check-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.check-row label{
  margin:0;
  color:var(--text);
  font-size:1rem;
  font-weight:800;
  text-transform:none;
  letter-spacing:0;
}

.switch{
  position:relative;
  width:58px;
  height:34px;
  flex:0 0 auto;
}

.switch input{
  position:absolute;
  inset:0;
  opacity:0;
  min-height:auto;
}

.switch span{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#cfd8dc;
  transition:.2s ease;
}

.switch span::after{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
  transition:.2s ease;
}

.switch input:checked + span{background:var(--brand-700)}
.switch input:checked + span::after{transform:translateX(24px)}

.property-list,
.history-list,
.insight-list,
.ranking-list,
.chart-list{
  display:grid;
  gap:12px;
}

.field-page #localRecommendations{
  display:block;
}

.field-page .mail-report-card{
  background:#fff;
  border:1px solid rgba(24,60,44,.12);
  border-radius:8px;
  padding:16px 18px;
  box-shadow:0 10px 22px rgba(20,35,28,.05);
}

.field-page .mail-report-card h3{
  margin:0 0 10px;
  color:#173826;
  font-size:1rem;
  line-height:1.25;
}

.field-page .mail-report-card p{
  margin:0 0 10px;
  color:#43515c;
  line-height:1.6;
}

.field-page .mail-report-card p:last-child{
  margin-bottom:0;
}

.field-page .mail-report-meta{
  margin-bottom:8px;
  color:#607268;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0;
}

.property-list{
  display:block;
  max-height:min(68vh, 920px);
  min-height:min(52vh, 560px);
  overflow:auto;
  padding:0;
  border:1px solid var(--border);
  border-radius:24px;
  background:linear-gradient(180deg,#fbfdfc,#f3f8f5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  scrollbar-color:#89a295 #edf4f0;
  overscroll-behavior-y:contain;
  overscroll-behavior-x:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

.property-list::-webkit-scrollbar{
  width:16px;
}

.property-list::-webkit-scrollbar-track{
  background:#edf4f0;
  border-radius:999px;
}

.property-list::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#9cb5a8,#7f9e91);
  border-radius:999px;
  border:3px solid #edf4f0;
}

.property-list-head{
  position:sticky;
  top:0;
  z-index:3;
  display:grid;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(24,60,44,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(240,246,242,.98));
  backdrop-filter:blur(10px);
}

.property-list-head::after{
  content:"";
  display:block;
  width:100%;
  height:10px;
  margin-top:2px;
  border-radius:999px;
  background:
    linear-gradient(90deg, rgba(47,122,82,.22), rgba(76,124,197,.26)),
    #e8f1ec;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 4px 10px rgba(24,60,44,.08);
}

.property-list-head-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.property-list-head strong{
  display:block;
  color:var(--brand-900);
  font-size:1rem;
}

.property-list-head span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.86rem;
}

.property-list-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.property-list-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.property-filter-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 12px;
  border:1px solid rgba(24,60,44,.14);
  border-radius:999px;
  background:#fff;
  color:var(--brand-900);
  font:inherit;
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(18,42,31,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.property-filter-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(14,82,54,.24);
  box-shadow:0 10px 18px rgba(18,42,31,.08);
}

.property-filter-btn span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  margin:0;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(14,82,54,.08);
  color:var(--brand-700);
  font-size:.78rem;
  line-height:1;
}

.property-filter-btn.is-active{
  border-color:rgba(14,82,54,.32);
  background:linear-gradient(180deg,#eef7f1,#dff0e6);
  box-shadow:0 10px 22px rgba(14,82,54,.12);
}

.property-filter-btn.is-active span{
  background:var(--brand-700);
  color:#fff;
}

.property-list-body{
  display:grid;
  gap:12px;
  padding:14px 16px 18px 14px;
  touch-action:pan-y;
  overscroll-behavior:contain;
}

.property-list-more{
  border:1px dashed rgba(24,60,44,.22);
  border-radius:16px;
  padding:14px 16px;
  background:#fff;
  color:#53645a;
  font-size:.92rem;
  font-weight:700;
  text-align:center;
}

.properties-screen .screen-head{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  text-align:center;
}

.properties-screen .screen-head-copy{
  grid-column:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.properties-screen .screen-head-copy strong{
  font-size:1.34rem;
  font-weight:900;
  line-height:1.18;
  letter-spacing:0;
  text-align:center;
}

.properties-screen .screen-head-copy span{
  max-width:64ch;
  color:#4b5d54;
  font-weight:700;
}

.properties-screen .screen-badge{
  grid-column:3;
  justify-self:end;
}

.properties-screen .property-form-card,
.properties-screen .property-browser-card{
  border:1px solid rgba(24,60,44,.14);
  box-shadow:0 18px 36px rgba(24,60,44,.08);
}

.properties-screen.active{
  display:flex;
  flex-direction:column;
}

.properties-screen .screen-head{order:1}
.properties-screen .property-field-guide{order:2}
.properties-screen .property-browser-card{order:3}
.properties-screen .property-form-card{order:4}

.properties-screen .property-form-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(241,247,243,.98)),
    radial-gradient(circle at top right, rgba(199,134,21,.08), transparent 28%);
}

.properties-screen .property-form-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px 12px;
  align-items:start;
}

.properties-screen .property-field-morador{grid-column:span 7}
.properties-screen .property-field-telefone{grid-column:span 5}
.properties-screen .property-field-bairro{grid-column:span 4}
.properties-screen .property-field-logradouro{grid-column:span 5}
.properties-screen .property-field-numero{grid-column:span 3}
.properties-screen .property-field-tipo{grid-column:span 4}
.properties-screen .property-field-complemento{grid-column:span 3}
.properties-screen .property-field-referencia{grid-column:span 5}
.properties-screen .property-field-microarea{grid-column:span 6}
.properties-screen .property-field-quarteirao{grid-column:span 6}
.properties-screen .property-field-obs{grid-column:1 / -1}

.properties-screen .property-browser-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(239,245,242,.98)),
    radial-gradient(circle at top right, rgba(76,124,197,.08), transparent 28%);
}

.properties-screen .property-form-card::before{
  background:linear-gradient(90deg,#2f7a52,#c78615);
}

.properties-screen .property-browser-card::before{
  background:linear-gradient(90deg,#355f9f,#2f7a52);
}

.properties-screen .field label{
  color:#415148;
  font-size:.9rem;
}

.properties-screen .property-form-grid .field{
  margin:0;
}

.properties-screen .field-help{
  color:#576961;
  font-weight:700;
}

.properties-screen input,
.properties-screen select,
.properties-screen textarea{
  border-width:2px;
  background:rgba(255,255,255,.98);
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.properties-screen textarea{
  min-height:132px;
}

.properties-screen .property-query-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.properties-screen .property-query-actions .btn{
  min-height:58px;
}

.properties-screen .property-query-grid{
  align-items:end;
}

.properties-screen .property-list{
  border-color:rgba(24,60,44,.14);
  background:
    linear-gradient(180deg, rgba(251,253,252,.99), rgba(240,246,242,.98)),
    radial-gradient(circle at top right, rgba(76,124,197,.06), transparent 24%);
}

.properties-screen .property-list-head{
  padding:16px 18px;
}

.properties-screen .property-list-head strong{
  font-size:1.08rem;
}

.properties-screen .property-list-head span{
  color:#53645a;
  font-size:.9rem;
}

.properties-screen .property-list-meta .meta-pill,
.properties-screen .property-list-meta .status-pill,
.properties-screen .property-result-card .meta-pill,
.properties-screen .property-result-card .status-pill{
  font-size:.84rem;
  font-weight:800;
}

.properties-screen .property-filter-btn{
  min-height:48px;
  padding:10px 14px;
  font-size:.92rem;
}

.properties-screen .property-result-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.14);
  border-radius:24px;
  padding:14px 16px 14px;
  box-shadow:0 14px 28px rgba(24,60,44,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,248,246,.98)),
    radial-gradient(circle at top right, rgba(47,122,82,.06), transparent 26%);
}

.properties-screen .property-result-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg,#2f7a52,#5b9e78);
}

.properties-screen .property-result-card.is-near::before{
  background:linear-gradient(180deg,#4c7cc5,#355f9f);
}

.properties-screen .property-result-card.is-focus::before{
  background:linear-gradient(180deg,#d96464,#c34747);
}

.properties-screen .property-result-card.is-selected{
  border-color:rgba(53,95,159,.34);
  box-shadow:
    0 0 0 4px rgba(76,124,197,.10),
    0 18px 32px rgba(24,60,44,.12);
}

.properties-screen .property-card-title{
  display:block;
  padding-left:10px;
  color:#173826;
  font-size:1.16rem;
  line-height:1.25;
  letter-spacing:.01em;
}

.properties-screen .property-card-mainline,
.properties-screen .property-card-subline,
.properties-screen .property-card-territory{
  margin:5px 0 0 10px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.properties-screen .property-card-mainline{
  color:#4f6158;
  font-size:.92rem;
  font-weight:800;
  line-height:1.28;
  -webkit-line-clamp:2;
}

.properties-screen .property-card-subline,
.properties-screen .property-card-territory{
  color:#5d6d66;
  font-size:.84rem;
  font-weight:700;
  line-height:1.25;
  -webkit-line-clamp:1;
}

.properties-screen .property-card-territory{
  color:#2f5f47;
}

.properties-screen .property-result-card .meta-pills{
  margin:8px 0 0 10px;
  gap:6px;
}

.properties-screen .property-result-card .card-actions{
  margin:10px 0 0 10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.properties-screen .property-result-card .card-actions .btn{
  min-height:58px;
  border-radius:16px;
}

#mapInsights,
#gpsTimeline{
  max-height:min(46vh, 420px);
  overflow:auto;
  padding-right:6px;
  scrollbar-gutter:stable;
}

#mapInsights::-webkit-scrollbar,
#gpsTimeline::-webkit-scrollbar{
  width:10px;
}

#mapInsights::-webkit-scrollbar-thumb,
#gpsTimeline::-webkit-scrollbar-thumb{
  background:#c9d5cf;
  border-radius:999px;
  border:2px solid #f6faf8;
}

.property-card,
.history-card,
.insight-card,
.ranking-card,
.chart-card,
.agent-card{
  border:1px solid var(--border);
  background:#fff;
  border-radius:22px;
  padding:18px;
  box-shadow:0 10px 22px rgba(20,35,28,.05);
}

.chart-card.is-clickable{
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.chart-card.is-clickable:hover{
  transform:translateY(-2px);
  border-color:rgba(14,82,54,.22);
  box-shadow:0 14px 26px rgba(20,35,28,.08);
}

.property-card.is-focus,
.history-card.is-focus{border-left:6px solid var(--danger-700)}
.property-card.is-near{border-left:6px solid var(--accent-700)}

.card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.card-actions .btn{
  width:auto;
  min-width:140px;
  min-height:44px;
  border-radius:14px;
  font-size:.92rem;
  padding:10px 14px;
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.metric-card{
  border:1px solid var(--border);
  background:linear-gradient(180deg,#fff,#f8faf9);
  border-radius:22px;
  padding:18px;
  text-align:center;
}

.metric-card small{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:10px;
}

.metric-card strong{
  font-size:2.15rem;
  color:var(--brand-900);
}

.metric-card.is-danger strong{color:var(--danger-700)}
.metric-card.is-accent strong{color:var(--accent-700)}
.metric-card.is-warn strong{color:var(--warn-700)}

.toolbar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:14px;
  align-items:end;
}

.filters-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.table-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 26px rgba(24,60,44,.05);
}

.table-wrap tr.is-active-row{
  background:linear-gradient(180deg,#eef8f2,#e2f1e8);
}

table{
  width:100%;
  border-collapse:collapse;
  min-width:980px;
}

th,td{
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top;
  font-size:.96rem;
  line-height:1.45;
}

th{
  background:linear-gradient(180deg,#f1f7f3,#e5efe9);
  color:var(--brand-900);
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  position:sticky;
  top:0;
  z-index:2;
}

tbody tr{
  transition:background .16s ease;
}

tbody tr:hover{
  background:#f7fbf8;
}

.bar-track{
  height:16px;
  border-radius:999px;
  background:#e8eef0;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06);
}

.bar-fill{
  height:100%;
  background:linear-gradient(90deg,var(--brand-700),var(--brand-800));
  border-radius:999px;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.18);
}

.bar-fill.is-danger{background:linear-gradient(90deg,#d96464,#c34747)}
.bar-fill.is-accent{background:linear-gradient(90deg,#5c8bd7,#355f9f)}
.bar-fill.is-warn{background:linear-gradient(90deg,#e8b84f,#c78615)}

.rank-row{
  display:grid;
  grid-template-columns:80px 1fr 60px;
  gap:12px;
  align-items:center;
  font-size:.94rem;
}

.empty-state{
  border:1px dashed var(--border);
  background:#f8fbf9;
  border-radius:22px;
  padding:24px;
  color:var(--muted);
  text-align:center;
  font-size:.98rem;
  line-height:1.45;
}

#syncCenterGrid .metric-card strong{
  font-size:1.55rem;
}

.sync-export-actions{
  align-items:stretch;
}

.sync-export-btn{
  min-height:78px;
  justify-content:flex-start;
  text-align:left;
  gap:12px;
  padding:14px 16px;
  border:1px solid transparent;
}

.sync-export-all{
  background:linear-gradient(180deg,#24794e,#165f39);
  color:#fff;
}

.sync-export-queue{
  background:linear-gradient(180deg,#2c74d8,#1f5faa);
  color:#fff;
}

.sync-export-icon{
  width:40px;
  min-width:40px;
  height:40px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.18);
  font-size:1.25rem;
  line-height:1;
}

.sync-export-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.sync-export-title,
.sync-export-hint{
  display:block;
  overflow-wrap:anywhere;
}

.sync-export-title{
  font-size:1rem;
  line-height:1.18;
}

.sync-export-hint{
  color:rgba(255,255,255,.82);
  font-size:.82rem;
  font-weight:700;
  line-height:1.25;
}

#syncQueueList{
  max-height:min(42vh, 420px);
  overflow:auto;
  padding-right:6px;
  scrollbar-gutter:stable;
}

#syncQueueList::-webkit-scrollbar{
  width:10px;
}

#syncQueueList::-webkit-scrollbar-thumb{
  background:#c9d5cf;
  border-radius:999px;
  border:2px solid #f6faf8;
}

.map-shell{
  height:520px;
  border-radius:24px;
  border:1px solid var(--border);
  overflow:hidden;
  position:relative;
}

.map-toolbar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-bottom:14px;
}

.map-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:12px 14px;
  border-radius:18px;
  background:#f8fbf9;
  border:1px solid var(--border);
  color:var(--text);
  font-size:.94rem;
  font-weight:800;
  box-shadow:0 10px 20px rgba(24,60,44,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.map-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(24,60,44,.08);
  border-color:rgba(24,60,44,.16);
}

.map-toggle input{
  width:18px;
  height:18px;
  min-height:auto;
  margin:0;
  accent-color:var(--brand-700);
}

.map-select-toggle{
  justify-content:space-between;
  gap:12px;
}

.map-select-toggle span{
  font-weight:800;
}

.map-select-toggle select{
  min-width:0;
  width:100%;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  padding:10px 12px;
  font-size:.92rem;
  font-weight:700;
}

.territory-summary{
  margin:10px 0 14px;
  padding:14px 16px;
  border-radius:18px;
  background:#f6faf7;
  border:1px solid var(--border);
  color:var(--muted);
  font-size:.95rem;
  line-height:1.5;
}

.leaflet-popup-content .territory-popup{
  min-width:220px;
}

.leaflet-popup-content .territory-popup strong{
  display:block;
  margin-bottom:4px;
  color:var(--brand-900);
}

.leaflet-popup-content .territory-popup span{
  display:block;
  color:var(--muted);
  margin-top:4px;
}

#fieldMap,
#fieldMap.leaflet-container{
  touch-action: pan-x pan-y;
  -ms-touch-action: pan-x pan-y;
}

.legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.legend span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:#f8fbf9;
  border:1px solid var(--border);
  color:var(--muted);
  font-size:.84rem;
  font-weight:700;
}

.dot{
  width:12px;
  height:12px;
  border-radius:50%;
}

.dot.ok{background:var(--brand-700)}
.dot.focus{background:var(--danger-700)}
.dot.return{background:var(--warn-700)}
.dot.accent{background:var(--accent-700)}
.dot.low{background:#2f7a52}
.dot.medium{background:#e8c24b}
.dot.high{background:#d94b5a}

.login-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  background:
    radial-gradient(circle at top, rgba(63,150,103,.22), transparent 28%),
    linear-gradient(160deg,#173826,#143226 46%,#11261c 100%);
}

.login-card{
  width:min(100%, 420px);
  background:#ffffff;
  border:1px solid #d7e0da;
  color:#183226;
  border-radius:20px;
  padding:20px;
  box-shadow:0 18px 34px rgba(10,32,22,.14);
  backdrop-filter:none;
}

.login-card .brand-mark{
  width:48px;
  height:48px;
  font-size:1.45rem;
  margin-bottom:8px;
}

.login-card h1{
  margin:0;
  text-align:center;
  font-size:1.45rem;
  color:#173826;
}

.login-card p{
  margin:6px 0 14px;
  text-align:center;
  color:#5f6e67;
  font-size:.88rem;
  line-height:1.35;
}

.login-card label{color:#33413b}
.login-card input,.login-card select{
  background:#ffffff;
  border-color:#cfd8d3;
  color:#1f2d29;
  min-height:48px;
  padding:10px 12px;
  font-size:.95rem;
}

.login-card input::placeholder{color:#7a8680}
.login-card option{color:#111}

.login-actions{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.login-actions .btn{
  min-height:48px;
  padding:10px 14px;
  font-size:.95rem;
}

.login-card .btn-soft{
  color:#1f3d2d;
  border-color:#cfdcd5;
  background:linear-gradient(180deg,#ffffff,#edf4ef);
}

.login-card input:focus,
.login-card select:focus{
  border-color:#2e7350;
  box-shadow:0 0 0 4px rgba(46,115,80,.12);
}

#loginMessage{
  min-height:20px;
  color:#2d5f46;
  font-weight:700;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,24,28,.48);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:120;
}

.modal-backdrop.show{display:flex}

.modal-card{
  width:min(100%, 760px);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:30px;
  padding:24px;
  box-shadow:0 24px 54px rgba(15,24,28,.24);
}

.modal-card h3{
  margin:0 0 16px;
  text-align:center;
  color:var(--brand-900);
  font-size:1.2rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.sync-banner{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:60;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:#203028;
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  box-shadow:var(--shadow);
}

.photo-preview{
  margin-top:14px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#f8fbf9;
}

.photo-preview img{
  width:100%;
  max-height:280px;
  object-fit:cover;
}

.signature-shell{
  border:1px solid var(--border);
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,250,248,.96)),
    repeating-linear-gradient(180deg, transparent, transparent 34px, rgba(31,86,60,.05) 34px, rgba(31,86,60,.05) 35px);
  overflow:hidden;
}

.signature-shell canvas{
  display:block;
  width:100%;
  height:220px;
  touch-action:none;
  cursor:crosshair;
}

.app-credit{
  width:min(1180px, calc(100% - 32px));
  margin:16px auto 96px;
  text-align:center;
  color:var(--muted);
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.04em;
}

.virtual-card{
  background:
    radial-gradient(circle at top left, rgba(76,124,197,.12), transparent 30%),
    radial-gradient(circle at bottom right, rgba(199,134,21,.08), transparent 26%),
    linear-gradient(135deg,#fff,#f4f8f6);
  border:1px solid var(--border);
  border-radius:30px;
  padding:24px;
  box-shadow:var(--shadow);
}

.virtual-card h2{
  margin:0 0 12px;
  text-align:center;
  color:var(--brand-900);
  font-size:1.4rem;
}

.virtual-card .kv{
  display:grid;
  gap:12px;
}

.virtual-card .kv div{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  padding:14px 16px;
}

.virtual-card .kv small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74rem;
  font-weight:800;
  margin-bottom:6px;
}

@media (max-width:1120px){
  .dashboard-page .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .dashboard-page .toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-card.is-priority{grid-column:span 2}
  .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .map-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  .field-guide{
    grid-template-columns:1fr;
  }

  .field-guide-items{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .visit-screen .selected-card{
    max-width:none;
    padding:12px 11px 10px;
  }
  .visit-screen .selected-card-top{
    grid-template-columns:1fr;
  }
  .visit-screen .selected-card-top span{
    text-align:left;
  }
  .visit-screen .selected-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .visit-screen .selected-card-item-territorio,
  .visit-screen .selected-card-item-referencia{
    grid-column:span 2;
  }
  .visit-screen .visit-tubitos-row{
    grid-template-columns:1fr;
  }
  .visit-screen .visit-tubitos-counter .stepper{
    max-width:none;
  }
  .properties-screen .screen-head-copy strong{
    font-size:1.34rem;
  }
  .properties-screen .property-query-actions .btn{
    min-height:56px;
  }
  .properties-screen .property-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .properties-screen .property-field-morador,
  .properties-screen .property-field-logradouro,
  .properties-screen .property-field-referencia,
  .properties-screen .property-field-obs{
    grid-column:1 / -1;
  }
  .properties-screen .property-field-telefone,
  .properties-screen .property-field-bairro,
  .properties-screen .property-field-numero,
  .properties-screen .property-field-tipo,
  .properties-screen .property-field-complemento,
  .properties-screen .property-field-microarea,
  .properties-screen .property-field-quarteirao{
    grid-column:span 1;
  }
  .properties-screen .property-result-card{
    padding:16px 16px 14px;
  }
.property-list{
    min-height:68vh;
    max-height:76vh;
    margin-inline:2px;
    border-radius:20px;
  }
  .property-list-head{
    padding:12px 13px;
  }
  .property-list-body{
    padding:8px;
    gap:8px;
  }
  .property-card{
    padding:12px 12px;
    border-radius:14px;
  }
  .card-actions .btn{
    flex:1 1 calc(50% - 8px);
    min-width:0;
  }
  #mapInsights,
  #gpsTimeline{max-height:34vh}
  .property-list-head-top{
    flex-direction:column;
    align-items:flex-start;
  }
  .property-list-meta{
    justify-content:flex-start;
  }
  .dashboard-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-page .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-page .map-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inherited-visit-grid{grid-template-columns:1fr}
  .selected-card-grid{grid-template-columns:1fr}
  .grid.two,
  .grid.three,
  .grid.four,
  .choice-grid,
  .summary-strip,
  .btn-row,
  .quick-grid,
  .deposit-grid,
  .filters-grid,
  .toolbar,
  .metric-grid{
    grid-template-columns:1fr;
  }

  .hero-grid{grid-template-columns:1fr}
  .hero-card.is-priority{grid-column:auto}
  .screen-head{align-items:flex-start}
  .map-shell{height:420px}
  .map-toolbar{grid-template-columns:1fr}
}

@media (max-width:600px){
.visit-screen .selected-card-top strong{
    font-size:.96rem;
  }
  .visit-screen .selected-card-top span{
    font-size:.82rem;
  }
  .properties-screen .property-query-actions{
    grid-template-columns:1fr;
  }
  .properties-screen .property-form-grid{
    grid-template-columns:1fr;
  }
  .properties-screen .property-form-grid > .field{
    grid-column:1 / -1;
  }
  .properties-screen .property-form-card,
  .properties-screen .property-browser-card{
    box-shadow:0 14px 28px rgba(24,60,44,.08);
  }
  .properties-screen .property-card-title{
    font-size:1rem;
    line-height:1.18;
  }
  .properties-screen .property-result-card{
    padding:10px 10px 10px 14px;
    border-radius:12px;
  }
  .properties-screen .property-card-mainline,
  .properties-screen .property-card-subline,
  .properties-screen .property-card-territory{
    margin-left:8px;
  }
  .properties-screen .property-card-mainline{
    font-size:.88rem;
    line-height:1.25;
  }
  .properties-screen .property-card-subline{
    display:none;
  }
  .properties-screen .property-card-territory{
    font-size:.78rem;
    line-height:1.2;
  }
  .properties-screen .property-result-card .meta-pills{
    margin-top:6px;
    gap:4px;
  }
  .properties-screen .property-result-card .meta-pill,
  .properties-screen .property-result-card .status-pill{
    padding:4px 7px;
    font-size:.72rem;
    line-height:1.1;
  }
  .properties-screen .property-result-card .card-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    margin-top:8px;
  }
  .properties-screen .property-result-card .card-actions .btn{
    min-height:38px;
    min-width:0;
    padding:8px 9px;
    border-radius:8px;
    font-size:.82rem;
  }
  .property-list{
    min-height:72vh;
    max-height:80vh;
    margin-inline:4px;
    border-radius:18px;
  }
  .property-list-head{
    gap:10px;
    padding:10px 12px;
  }
  .property-list-body{
    padding:8px;
    gap:8px;
  }
  .property-card{
    padding:14px 13px;
    border-radius:16px;
  }
  #mapInsights,
  #gpsTimeline{max-height:30vh}
  .compact-actions .btn{
    width:100%;
    min-width:0;
  }
  .card-actions{
    gap:8px;
  }
  .card-actions .btn{
    flex:1 1 100%;
    width:100%;
  }
  .property-filter-btn{
    flex:1 1 calc(50% - 8px);
    justify-content:space-between;
  }
  .topbar-row{padding:12px}
  .nav-tabs{padding:0 12px 12px}
  .hero-grid{padding:0 12px}
  .screen{padding:16px 12px 0}
  .card{padding:18px 16px}
  .field-page .card::before{margin:-18px -16px 14px}
  .dashboard-page .card::before{margin:-18px -16px 14px}
  .chip-row{width:100%}
  .chip{flex:1 1 auto}
  .weather-strip{
    width:100%;
    min-width:0;
    order:3;
    align-self:stretch;
  }
  .weather-strip strong{font-size:.95rem}
  .inherited-visit-box{padding:14px}
  .inherited-visit-item{padding:11px 12px}
  .inherited-visit-item strong{font-size:.96rem}
  .brand-copy h1{font-size:1.08rem}
  .brand-copy p{font-size:.92rem}
  .section-title{font-size:1.02rem}
  .card-note{font-size:.94rem}
  .field label{font-size:.82rem}
  .field-help{font-size:.85rem}
  input,select,textarea{min-height:58px;font-size:1rem}
  .btn{min-height:56px;font-size:1rem}
  .choice-btn{min-height:76px}
  .quick-btn{min-height:96px}
  .hero-card strong{font-size:1.9rem}
  .stepper{grid-template-columns:48px 1fr 48px}
}

@media (max-width:1080px){
  .dashboard-page .panel-side-grid{
    grid-template-columns:1fr;
  }

  .dashboard-page .panel-maps-grid{
    grid-template-columns:1fr;
  }

  .dashboard-page .panel-strategy-card{
    min-height:0;
  }

  .dashboard-page .panel-map-card .map-shell{
    height:500px;
  }
}

.visit-screen{
  padding-top:18px;
  padding-bottom:24px;
}

.visit-screen .screen-head{
  display:flex;
}

.field-page .visit-screen .screen-head,
.field-page #screen-painel .screen-head{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  text-align:center;
}

.field-page .visit-screen .screen-head-copy,
.field-page #screen-painel .screen-head-copy{
  grid-column:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.field-page .visit-screen .screen-head-copy span,
.field-page #screen-painel .screen-head-copy span{
  max-width:64ch;
}

.field-page .visit-screen .screen-badge,
.field-page #screen-painel .screen-badge{
  grid-column:3;
  justify-self:end;
}

.visit-screen .visit-card{
  padding:18px;
  border-radius:18px;
  border:1.5px solid #dbe5ea;
  box-shadow:0 10px 20px rgba(16,43,32,.05);
  background:#fff;
}

.visit-screen .section-title{
  width:auto;
  text-align:left;
  text-transform:none;
  letter-spacing:.02em;
  font-size:1.06rem;
  padding-left:14px;
  position:relative;
}

.visit-screen .section-title::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:5px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg,#0f5f2f,#2aa05a);
}

.visit-screen .card-note{
  margin:8px 0 14px;
  text-align:left;
  font-size:.92rem;
}

.visit-screen .field label{
  font-size:.78rem;
  letter-spacing:.05em;
}

.visit-screen input,
.visit-screen select,
.visit-screen textarea{
  min-height:56px;
  border-radius:16px;
  border-width:1.5px;
  background:#fff;
  font-size:1rem;
}

.visit-screen textarea{
  min-height:112px;
}

.visit-screen .btn{
  min-height:54px;
  border-radius:16px;
  box-shadow:none;
}

.visit-screen .btn-soft{
  background:#fff;
  border:1.5px solid #dbe5ea;
}

.visit-screen .btn-secondary{
  background:linear-gradient(180deg,#2c74d8,#1d5ab2);
}

.visit-screen .btn-primary{
  background:linear-gradient(180deg,#21834f,#0f5f2f);
}

.visit-screen .btn-row{
  gap:10px;
}

.visit-property-actions{
  margin-bottom:12px;
}

.visit-screen .visit-selected-card,
.visit-screen .selected-card{
  padding:10px 12px 9px;
  border-radius:16px;
  border:2px solid #bfdbfe;
  background:#eff6ff;
  box-shadow:none;
}

.visit-screen .selected-card-top{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(240px,.95fr);
  gap:4px 18px;
  align-items:start;
}

.visit-screen .selected-card-top strong{
  font-size:1.16rem;
  line-height:1.2;
}

.visit-screen .selected-card-top span{
  font-size:1rem;
  color:#365068;
  line-height:1.26;
  text-align:right;
}

.visit-screen .selected-card-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}

.visit-screen .selected-card-item{
  padding:8px 10px 7px;
  border-radius:12px;
  border:1px solid #d8e6fb;
  background:rgba(255,255,255,.88);
}

.visit-screen .selected-card-item small{
  color:#5d6d88;
  font-size:.72rem;
}

.visit-screen .selected-card-item strong{
  font-size:1rem;
  line-height:1.26;
}

.visit-screen .selected-card-pills{
  gap:6px;
  margin-top:8px;
}

.visit-screen .selected-card-pills .meta-pill,
.visit-screen .selected-card-pills .status-pill,
.visit-screen #gpsStatus .meta-pill,
.visit-screen #gpsStatus .status-pill{
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  border-color:#d7e6fa;
  background:#fff;
  font-size:.86rem;
}

.visit-screen .selected-card-item-morador,
.visit-screen .selected-card-item-contato,
.visit-screen .selected-card-item-cadastro{
  grid-column:span 2;
}

.visit-screen .selected-card-item-territorio,
.visit-screen .selected-card-item-referencia{
  grid-column:span 3;
}

.visit-gps-status{
  margin-top:12px;
}

.visit-screen #selectedPropertyActions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.visit-screen #selectedPropertyActions .btn,
.visit-screen #visitOutputActions .btn{
  width:100%;
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border-radius:14px;
  font-size:.9rem;
}

.visit-preset-panel{
  margin-top:14px;
  padding:12px;
  border:1px solid #dbe5ea;
  border-radius:16px;
  background:#f7fafc;
}

.visit-subtitle{
  margin:0 0 10px;
  color:#506170;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.visit-closed-reason[hidden]{
  display:none;
}

.visit-screen .visit-closed-reason select{
  background:#fffdf8;
  border-color:#e5d7b5;
}

.visit-screen .visit-closed-reason .field-help{
  color:#7c6847;
}

.visit-water-reason[hidden]{
  display:none;
}

.visit-screen .visit-water-reason select{
  background:#fffdf8;
  border-color:#d8d2bd;
}

.visit-screen .visit-water-reason .field-help{
  color:#6f6953;
}

.visit-screen .visit-water-alert{
  border:1px solid #ef9a9a;
  border-radius:16px;
  background:linear-gradient(180deg,#fff5f5,#ffe7e7);
  color:#9f1d1d;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:.92rem;
  line-height:1.45;
}

.visit-water-alert[hidden]{
  display:none;
}

.visit-screen .visit-water-alert strong{
  font-size:.95rem;
}

.visit-screen .visit-tubitos-field{
  padding:10px 12px;
  border:1px solid #dbe5ea;
  border-radius:16px;
  background:#f7fafc;
}

.visit-screen .visit-tubitos-row{
  display:grid;
  grid-template-columns:minmax(190px,220px) minmax(0,1fr);
  gap:10px;
  align-items:end;
}

.visit-screen .visit-tubitos-counter label{
  margin-bottom:7px;
  font-size:1rem;
}

.visit-screen .visit-tubitos-counter .stepper{
  max-width:200px;
}

.visit-screen .visit-tubitos-sequence{
  min-height:58px;
  border:1px solid #dbe5ea;
  border-radius:14px;
  background:#fff;
  padding:8px 11px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
}

.visit-screen .visit-tubitos-caption{
  color:#64748b;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.visit-screen #visitTubitosRange{
  color:#17324a;
  font-size:1.02rem;
  line-height:1.18;
  font-weight:900;
}

.visit-screen #visitTubitosRange.is-empty{
  color:#6b7a89;
}

.visit-screen .visit-focus-total{
  padding:14px;
  border:1px solid #f0d8b3;
  border-radius:16px;
  background:#fff9ef;
}

.visit-screen .visit-focus-total-value{
  margin-top:8px;
  font-size:1.15rem;
  font-weight:900;
  color:#9a4f00;
}

.visit-quick-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.visit-screen .quick-btn{
  min-height:86px;
  padding:14px;
  border-radius:16px;
  border:1.5px solid #dbe5ea;
  background:#fff;
  box-shadow:none;
}

.visit-screen .quick-btn strong{
  font-size:.96rem;
  margin-bottom:4px;
}

.visit-screen .quick-btn span{
  font-size:.82rem;
  line-height:1.32;
}

.visit-screen .stepper{
  grid-template-columns:50px 1fr 50px;
  gap:8px;
}

.visit-screen .stepper button{
  min-height:54px;
  border-radius:14px;
  background:#eff4f7;
  box-shadow:none;
  font-size:1.4rem;
}

.visit-screen .stepper input{
  min-height:54px;
}

.visit-screen .choice-grid{
  gap:10px;
}

.visit-screen #situacaoChoices.choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.visit-screen .visit-closed-reason{
  max-width:340px;
  margin-left:0;
}

.visit-screen .choice-btn{
  min-height:72px;
  padding:12px;
  border-radius:16px;
  box-shadow:none;
}

.visit-screen .choice-btn span{
  font-size:.8rem;
  line-height:1.28;
}

.visit-screen .choice-btn.active.choice-btn-open,
.visit-screen .choice-btn.active.choice-btn-yes{
  border-color:#1f7a4a;
  background:#248a54;
  color:#fff;
  box-shadow:0 0 0 4px rgba(36,138,84,.16);
}

.visit-screen .choice-btn.active.choice-btn-closed,
.visit-screen .choice-btn.active.choice-btn-no{
  border-color:#b44c31;
  background:#d1603d;
  color:#fff;
  box-shadow:0 0 0 4px rgba(209,96,61,.18);
}

.visit-screen .choice-btn.active.choice-btn-recovered{
  border-color:#345eb7;
  background:#3f73d6;
  color:#fff;
  box-shadow:0 0 0 4px rgba(63,115,214,.18);
}

.visit-screen .choice-btn.active.choice-btn-open span,
.visit-screen .choice-btn.active.choice-btn-yes span,
.visit-screen .choice-btn.active.choice-btn-closed span,
.visit-screen .choice-btn.active.choice-btn-no span,
.visit-screen .choice-btn.active.choice-btn-recovered span{
  color:rgba(255,255,255,.92);
}

.visit-screen .deposit-grid{
  gap:10px;
}

.visit-screen .deposit-card{
  padding:14px;
  gap:12px;
  border-radius:18px;
  border:1.5px solid #dbe5ea;
  background:linear-gradient(180deg,#fcfeff,#f3f8fb);
  box-shadow:0 10px 24px rgba(24,60,44,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.visit-screen .deposit-card.is-active{
  border-color:#d8c56c;
  background:linear-gradient(180deg,#fffbea,#fff2bd);
  box-shadow:0 16px 30px rgba(181,148,34,.14);
  transform:translateY(-1px);
}

.visit-screen .deposit-card.has-focus{
  border-color:#d1603d;
  background:linear-gradient(180deg,#fff6f2,#ffe9df);
  box-shadow:0 18px 32px rgba(209,96,61,.16);
}

.visit-screen .deposit-top strong{
  font-size:1.18rem;
  letter-spacing:.02em;
}

.visit-screen .deposit-top span{
  font-size:1rem;
  line-height:1.3;
}

.visit-screen .deposit-total{
  min-width:58px;
  min-height:58px;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#edf4f7);
  border:1px solid #d7e2e8;
  color:#245840;
  font-size:1.68rem;
  font-weight:900;
}

.visit-screen .deposit-card.is-active .deposit-total{
  background:linear-gradient(180deg,#fffdf4,#ffe7a6);
  border-color:#dfc46b;
  color:#8a6210;
}

.visit-screen .deposit-card.has-focus .deposit-total{
  background:linear-gradient(180deg,#e37251,#c95234);
  border-color:#c95234;
  color:#fff;
}

.visit-screen .deposit-focus-box{
  gap:10px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border:1px solid #e1e9ee;
}

.visit-screen .deposit-card.has-focus .deposit-focus-box{
  background:#fff8f4;
  border-color:#efc0b3;
}

.visit-screen .deposit-card .field > label{
  font-size:1.02rem;
  font-weight:900;
}

.visit-screen .check-row label{
  font-size:1.05rem;
  font-weight:900;
}

.visit-screen .deposit-card .field-help{
  font-size:.94rem;
  line-height:1.35;
}

.visit-screen .deposit-card .stepper input{
  font-size:1.16rem;
  font-weight:900;
}

.visit-screen .deposit-card .stepper button{
  font-size:1.62rem;
}

.visit-screen .deposit-card-compact{
  padding:10px 12px;
  gap:8px;
  border-radius:12px;
}

.visit-screen .deposit-card-compact .deposit-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.visit-screen .deposit-card-compact .deposit-top strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:34px;
  margin-right:8px;
  border-radius:8px;
  background:#eef5f1;
  color:#21563c;
  font-size:1rem;
}

.visit-screen .deposit-card-compact .deposit-top span{
  font-size:.92rem;
}

.visit-screen .deposit-card-compact .deposit-line-stepper{
  grid-template-columns:38px 48px 38px;
  min-width:124px;
}

.visit-screen .deposit-card-compact .deposit-line-stepper button{
  min-height:38px;
  font-size:1.25rem;
  border-radius:8px;
}

.visit-screen .deposit-card-compact .deposit-line-stepper input{
  min-height:38px;
  font-size:1rem;
  border-radius:8px;
}

.visit-screen .deposit-card-compact .deposit-stepper-value{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:8px;
  border:1px solid #cfdbe0;
  background:#ffffff;
  color:#173826;
  font-size:1.05rem;
  font-weight:900;
  line-height:1;
}

.visit-screen .deposit-details{
  display:grid;
  gap:7px;
  padding:8px;
  border-radius:10px;
  background:rgba(255,255,255,.9);
  border:1px solid #e1e9ee;
}

.visit-screen .deposit-inline-row{
  display:grid;
  grid-template-columns:minmax(92px,1fr) auto;
  align-items:center;
  gap:10px;
}

.visit-screen .deposit-inline-row > span{
  font-size:.92rem;
  font-weight:900;
  color:#315241;
}

.visit-screen .deposit-measure-stepper{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.visit-screen .deposit-measure-unit{
  font-size:.82rem;
  font-weight:800;
  color:#53645a;
  white-space:nowrap;
}

.visit-screen .deposit-card-compact.has-focus .deposit-details{
  background:#fff8f4;
  border-color:#efc0b3;
}

.visit-screen .deposit-card-compact.has-focus .deposit-inline-row > span{
  color:#a04026;
}

.visit-screen .deposit-card .switch input:checked + span{
  background:#d1603d;
}

.visit-screen .deposit-card.has-focus .check-row label{
  color:#a04026;
}

.deposit-report-card{
  padding:16px 18px;
}

.deposit-report-card.is-focus{
  border-color:rgba(209,96,61,.22);
  background:linear-gradient(180deg,#fff6f2,#fff0ea);
}

.deposit-report-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  min-height:38px;
  padding:0 10px;
  border-radius:12px;
  background:#edf6ff;
  color:#18478a;
  font-size:1rem;
  font-weight:900;
}

.deposit-report-card.is-focus .deposit-report-code{
  background:#fee7df;
  color:#b2472c;
}

.deposit-report-meta{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#66727c;
  font-size:.95rem;
  line-height:1.3;
}

.visit-screen .signature-shell{
  border-radius:16px;
}

.visit-screen .signature-shell canvas{
  height:180px;
}

.visit-screen #visitOutputActions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.visit-support-grid{
  align-items:start;
}

.visit-screen .visit-history-panel{
  grid-column:1 / -1;
}

.visit-scroll-list{
  max-height:420px;
  overflow:auto;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:#91a7b7 #eef4f7;
}

.visit-scroll-list::-webkit-scrollbar{
  width:12px;
}

.visit-scroll-list::-webkit-scrollbar-track{
  background:#eef4f7;
  border-radius:999px;
}

.visit-scroll-list::-webkit-scrollbar-thumb{
  background:#91a7b7;
  border-radius:999px;
  border:2px solid #eef4f7;
}

.visit-screen .history-card,
.visit-screen .insight-card{
  padding:14px;
  border-radius:16px;
}

.visit-screen .table-wrap{
  border:1.5px solid #dbe5ea;
  border-radius:16px;
  scrollbar-width:auto;
  scrollbar-color:#91a7b7 #eef4f7;
}

.visit-screen .table-wrap::-webkit-scrollbar{
  height:12px;
}

.visit-screen .table-wrap::-webkit-scrollbar-track{
  background:#eef4f7;
}

.visit-screen .table-wrap::-webkit-scrollbar-thumb{
  background:#91a7b7;
  border-radius:999px;
  border:2px solid #eef4f7;
}

.visit-screen .table-wrap th{
  background:#eef7f1;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.visit-screen .table-wrap td{
  font-size:.88rem;
}

@media (max-width:820px){
  .visit-screen{
    padding-top:14px;
    padding-bottom:22px;
  }

  .visit-screen #selectedPropertyActions{
    grid-template-columns:1fr;
  }

  .visit-quick-grid{
    grid-template-columns:1fr;
  }

  .visit-scroll-list{
    max-height:none;
  }
}

@media (max-width:600px){
  .field-guide{
    padding:14px;
    border-radius:18px;
  }

  .field-guide-main strong{
    font-size:1.08rem;
  }

  .field-guide-items{
    grid-template-columns:1fr;
  }

  .visit-screen .visit-card{
    padding:16px;
    border-radius:16px;
  }

  .visit-screen .section-title{
    font-size:1rem;
  }

  .visit-screen .selected-card-grid{
    grid-template-columns:1fr;
  }
  .visit-screen .selected-card-item-morador,
  .visit-screen .selected-card-item-contato,
  .visit-screen .selected-card-item-cadastro,
  .visit-screen .selected-card-item-territorio,
  .visit-screen .selected-card-item-referencia{
    grid-column:span 1;
  }
  .visit-screen .visit-tubitos-field{
    padding:10px;
  }
  .visit-screen .visit-tubitos-sequence{
    min-height:58px;
    padding:8px 10px;
  }

  .visit-screen .quick-btn,
  .visit-screen .choice-btn{
    min-height:74px;
  }

  .visit-screen .signature-shell canvas{
    height:160px;
  }

}


.toolbar-dense{grid-template-columns:repeat(6,minmax(0,1fr));}
.field-span-2{grid-column:span 2;}
.map-toggle{border:1px solid rgba(24,60,44,.16);background:#f4f8f6;color:#1b252e;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer;}
.map-toggle.is-on{background:#21563c;color:#fff;border-color:#21563c;box-shadow:0 8px 18px rgba(24,60,44,.18);}
.legend-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px;}
.legend .dot.heat{background:linear-gradient(90deg,#42a55f,#d7b335,#d65a5a);}
.panel-side-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.9fr);gap:18px;align-items:start;}
.panel-map-card .map-shell{min-height:540px;}
@media (max-width:980px){.toolbar-dense{grid-template-columns:repeat(2,minmax(0,1fr));}.field-span-2{grid-column:span 2;}.panel-side-grid{grid-template-columns:1fr;}}


/* Mapa: botões coloridos substituindo legenda fixa */
.map-toggle-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 14px;}
.map-toggle{border:1px solid rgba(24,60,44,.16);background:#f4f8f6;color:#1b252e;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;}
.map-toggle:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(24,60,44,.10);}
.map-toggle.is-on{color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(24,60,44,.18);}
.map-toggle-polygons.is-on{background:linear-gradient(90deg,#2f7a52 0 33%,#e8c24b 33% 66%,#d94b5a 66% 100%);}
.map-toggle-open.is-on{background:#2d72d2;}
.map-toggle-closed.is-on{background:#e0b72f;color:#24303a;}
.map-toggle-recovered.is-on{background:#2f8f55;}
.map-toggle-heat.is-on{background:linear-gradient(90deg,#42a55f 0 33%,#d7b335 33% 66%,#d65a5a 66% 100%);}


.report-article{display:flex;flex-direction:column;gap:12px;}
.report-story{background:#f7faf8;border:1px solid rgba(24,60,44,.12);border-radius:18px;padding:18px 20px;}
.report-story h3{margin:0 0 10px;font-size:1rem;}
.report-story p{margin:0 0 10px;line-height:1.65;color:#43515c;}
.report-story p:last-child{margin-bottom:0;}
.direct-note{margin-top:14px;background:#fff8e9;border:1px solid rgba(142,110,21,.16);border-radius:18px;padding:16px 18px;}
.direct-note strong{display:block;margin-bottom:8px;color:#5f4b12;}
.direct-note p{margin:0;line-height:1.55;color:#5c5342;}
.panel-landscape-grid{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);}
.panel-strategy-card .panel-subsection{margin-top:16px;}
@media (max-width:980px){.panel-landscape-grid{grid-template-columns:1fr;}}


/* Painel desktop em bloco único */
.dashboard-page .panel-stack-report{display:block;margin:18px 0;}
.dashboard-page .panel-stack-report .panel-map-card,.dashboard-page .panel-stack-report .panel-strategy-card{width:100%;margin-bottom:18px;}
.dashboard-page .panel-map-card .map-shell{min-height:620px;height:620px;width:100%;}
.dashboard-page .panel-side-grid,.dashboard-page .panel-landscape-grid{display:block;grid-template-columns:1fr;}
.dashboard-page .panel-strategy-card{max-width:none;}
.dashboard-page .report-article{display:block;background:#fff;border:1px solid rgba(24,60,44,.10);border-radius:18px;padding:22px;line-height:1.75;font-size:15px;box-shadow:0 12px 28px rgba(24,60,44,.06);}
.dashboard-page .report-article h3{margin:0 0 14px;text-align:center;font-size:1.15rem;color:#173826;}
.dashboard-page .report-article p{margin:0 0 12px;text-align:justify;}
.dashboard-page .direct-note,.dashboard-page .panel-subsection{margin-top:16px;background:#fff;border:1px solid rgba(24,60,44,.10);border-radius:18px;padding:18px;box-shadow:0 12px 28px rgba(24,60,44,.05);}
.dashboard-page .panel-mini-title{margin:0 0 10px;text-align:center;}
.dashboard-page .insight-list{display:block;}
.dashboard-page .insight-list .insight-card{display:block;margin-bottom:12px;padding:0;border:none;background:transparent;box-shadow:none;}
.dashboard-page .insight-list .insight-card:last-child{margin-bottom:0;}
.dashboard-page .insight-list .insight-card strong{display:block;font-size:1rem;color:#173826;margin-bottom:6px;}

/* Fluxo guiado da visita */
.visit-wizard{
  position:sticky;
  top:104px;
  z-index:30;
  border:1px solid rgba(24,60,44,.12);
  background:#fff;
  border-radius:12px;
  padding:10px;
  box-shadow:0 10px 24px rgba(24,60,44,.10);
  margin:0 0 12px;
}
.visit-wizard-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.visit-step-chip{
  border:1px solid rgba(24,60,44,.14);
  background:#f6faf8;
  color:#1f3029;
  border-radius:8px;
  padding:8px;
  text-align:left;
  cursor:pointer;
  min-height:74px;
}
.visit-step-chip small{
  display:block;
  font-size:.68rem;
  color:#5d6f65;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
}
.visit-step-chip strong{
  display:block;
  margin:2px 0;
  font-size:.88rem;
}
.visit-step-chip span{
  display:block;
  font-size:.72rem;
  line-height:1.2;
  color:#607268;
}
.visit-step-chip.is-active{
  background:#21563c;
  border-color:#21563c;
  color:#fff;
  box-shadow:0 10px 20px rgba(24,60,44,.18);
}
.visit-step-chip.is-active small,
.visit-step-chip.is-active span{
  color:rgba(255,255,255,.82);
}
.visit-step-chip.is-done{
  border-color:rgba(47,143,85,.35);
  background:#eef8f1;
}
.visit-step-chip.is-skipped{
  border-style:dashed;
  background:#f4f6f5;
  color:#5f6c66;
}
.visit-step-chip.is-locked{
  opacity:.55;
}
.visit-wizard-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
}
.visit-step-hint{
  margin:0;
  color:#506259;
  line-height:1.45;
}
.visit-wizard-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
.visit-step-panel[hidden],
.visit-card[hidden]{
  display:none;
}
.visit-screen .visit-summary-grid{
  display:block;
  margin-top:10px;
}
.visit-screen .visit-summary-receipt{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #d4e1da;
  border-left:5px solid #21563c;
  border-radius:8px;
  background:#ffffff;
}
.visit-screen .visit-summary-receipt span,
.visit-screen .visit-summary-receipt small{
  display:block;
  color:#607268;
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
}
.visit-screen .visit-summary-receipt strong{
  display:block;
  margin:3px 0;
  color:#173826;
  font-size:1.05rem;
  line-height:1.25;
}
.visit-screen .visit-summary-status{
  padding:8px 10px;
  border-radius:8px;
  background:#edf8f1;
  color:#1f6640;
  font-weight:900;
  white-space:nowrap;
}
.visit-screen .visit-summary-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  margin-top:8px;
}
.visit-screen .visit-summary-mini-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:68px;
  padding:10px 10px 10px 14px;
  border:1px solid rgba(24,60,44,.12);
  border-radius:8px;
  background:linear-gradient(180deg,#ffffff,#f6faf8);
  box-shadow:0 8px 16px rgba(24,60,44,.05);
  overflow:hidden;
}
.visit-screen .visit-summary-mini-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#7c8b84;
}
.visit-screen .visit-summary-mini-card span{
  display:block;
  margin-bottom:4px;
  color:#607268;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
}
.visit-screen .visit-summary-mini-card strong{
  display:block;
  color:#173826;
  font-size:.88rem;
  line-height:1.25;
  font-weight:800;
  overflow-wrap:anywhere;
}
.visit-screen .visit-summary-mini-card-ok::before{background:#2f8f55;}
.visit-screen .visit-summary-mini-card-danger::before{background:#d94b5a;}
.visit-screen .visit-summary-mini-card-warn::before{background:#d8a92d;}
.visit-screen .visit-summary-mini-card-status::before{background:#21563c;}
.visit-screen .visit-summary-mini-card-water::before{background:#2d72d2;}
.visit-screen .visit-summary-mini-card-territory::before{background:#58677a;}
.visit-screen .visit-final-actions{
  margin-top:12px;
}
.visit-screen .visit-foldout{
  padding:0;
  overflow:hidden;
}
.visit-screen .visit-foldout summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  font-weight:900;
  color:#173826;
  background:#f7faf8;
}
.visit-screen .visit-foldout summary::-webkit-details-marker{
  display:none;
}
.visit-screen .visit-foldout summary::after{
  content:"+";
  float:right;
  color:#607268;
}
.visit-screen .visit-foldout[open] summary::after{
  content:"-";
}
.visit-screen .visit-foldout > :not(summary){
  margin:0 16px 16px;
}

.visit-screen .visit-inline-foldout{
  margin-top:14px;
  border:1px solid #d4e1da;
  border-radius:8px;
  background:#ffffff;
  overflow:hidden;
}

.visit-screen .visit-inline-foldout summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  font-weight:900;
  color:#173826;
  background:#f7faf8;
}

.visit-screen .visit-inline-foldout summary::-webkit-details-marker{
  display:none;
}

.visit-screen .visit-inline-foldout summary::after{
  content:"-";
  float:right;
  color:#607268;
}

.visit-screen .visit-inline-foldout:not([open]) summary::after{
  content:"+";
}

.visit-screen .visit-inline-foldout .table-wrap{
  max-height:360px;
  overflow:auto;
  margin:0;
  border-radius:0;
  border-width:1px 0 0;
}

.field-page .panel-agent-visits-table{
  max-height:420px;
  overflow:auto;
}
@media (max-width:980px){
  .visit-wizard-steps{
    grid-template-columns:repeat(5,minmax(130px,1fr));
    min-width:650px;
  }
  .visit-wizard{
    top:92px;
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .visit-step-chip{
    min-height:auto;
  }
  .visit-wizard-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .visit-wizard-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:420px){
  .visit-screen .visit-summary-grid{
    grid-template-columns:1fr;
  }
}

/* Ajustes solicitados em 16/04: filtros coloridos, painel compacto e relatório com KPIs destacados. */
.properties-screen .property-filter-btn{
  --filter-color:#2f7a52;
  --filter-soft:#e8f6ed;
  border-color:color-mix(in srgb, var(--filter-color) 34%, white);
  background:var(--filter-soft);
  color:#173826;
}

.properties-screen .property-filter-btn span{
  background:rgba(255,255,255,.76);
  color:var(--filter-color);
}

.properties-screen .property-filter-btn.is-active{
  background:var(--filter-color);
  border-color:var(--filter-color);
  color:#fff;
}

.properties-screen .property-filter-btn.is-active span{
  background:rgba(255,255,255,.22);
  color:#fff;
}

.properties-screen .property-filter-all{--filter-color:#2f7a52;--filter-soft:#e8f6ed}
.properties-screen .property-filter-opened{--filter-color:#2d72d2;--filter-soft:#e8f0fb}
.properties-screen .property-filter-closed{--filter-color:#c34747;--filter-soft:#fdecec}
.properties-screen .property-filter-focus{--filter-color:#c97916;--filter-soft:#fff1dc}
.properties-screen .property-filter-nogps{--filter-color:#b88318;--filter-soft:#fff7d9}
.properties-screen .property-filter-mine{--filter-color:#7b4cc2;--filter-soft:#f1eafa}

.dashboard-page .panel-action-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.dashboard-page .panel-action-grid .btn{
  min-height:42px;
  padding:8px 10px;
  border-radius:8px;
  font-size:.84rem;
  line-height:1.15;
  box-shadow:0 8px 18px rgba(24,60,44,.08);
}

.dashboard-page .map-toggle-closed.is-on{
  background:#c34747;
  color:#fff;
}

.dashboard-page .map-toggle-row{
  gap:8px;
}

.dashboard-page .map-toggle{
  position:relative;
  min-height:38px;
  border-radius:4px;
  padding:9px 12px 13px;
  overflow:hidden;
  background:#ffffff;
  color:#294032;
  border:1px solid rgba(24,60,44,.16);
  box-shadow:none;
  font-size:.82rem;
  line-height:1.1;
}

.dashboard-page .map-toggle:hover{
  transform:none;
  box-shadow:0 6px 14px rgba(24,60,44,.07);
}

.dashboard-page .map-toggle.is-on{
  background:#ffffff;
  color:#203428;
  border-color:rgba(24,60,44,.28);
  box-shadow:none;
}

.dashboard-page .map-toggle::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:#8ba08d;
  opacity:.55;
}

.dashboard-page .map-toggle.is-on::after{
  height:5px;
  opacity:1;
}

.dashboard-page .map-toggle-polygons::after{
  background:linear-gradient(90deg,#2f7a52 0 33%,#e8c24b 33% 66%,#d94b5a 66% 100%);
}

.dashboard-page .map-toggle-open::after{
  background:#355f9f;
}

.dashboard-page .map-toggle-closed::after{
  background:#c34747;
}

.dashboard-page .map-toggle-recovered::after{
  background:#2f8f55;
}

.dashboard-page .map-toggle-heat::after{
  background:linear-gradient(90deg,#42a55f 0 33%,#d7b335 33% 66%,#d65a5a 66% 100%);
}

.dashboard-page .metric-card{
  border-radius:8px;
  padding:14px 12px;
  border-left:5px solid #6f866f;
}

.dashboard-page .metric-card::before{
  height:0;
}

.dashboard-page .metric-card small{
  letter-spacing:0;
  text-transform:none;
  font-size:.78rem;
  line-height:1.15;
}

.dashboard-page .metric-card strong{
  margin-top:6px;
  font-size:1.78rem;
  line-height:1;
}

.dashboard-page .metric-card.is-base,
.dashboard-page .metric-card.is-team{
  background:#f7faf9;
  border-color:rgba(47,122,82,.26);
  border-left-color:#2f7a52;
}

.dashboard-page .metric-card.is-base strong,
.dashboard-page .metric-card.is-team strong{
  color:#1f6640;
}

.dashboard-page .metric-card.is-production{
  background:#f1f6ff;
  border-color:rgba(53,95,159,.20);
  border-left-color:#355f9f;
}

.dashboard-page .metric-card.is-production strong{
  color:#2f5690;
}

.dashboard-page .metric-card.is-production-warn,
.dashboard-page .metric-card.is-return,
.dashboard-page .metric-card.is-gps-warn{
  background:#fff8e8;
  border-color:rgba(184,131,24,.22);
  border-left-color:#b88318;
}

.dashboard-page .metric-card.is-production-warn strong,
.dashboard-page .metric-card.is-return strong,
.dashboard-page .metric-card.is-gps-warn strong{
  color:#8a6415;
}

.dashboard-page .metric-card.is-status-open{
  background:#eef4ff;
  border-color:rgba(53,95,159,.20);
  border-left-color:#355f9f;
}

.dashboard-page .metric-card.is-status-open strong{
  color:#305a94;
}

.dashboard-page .metric-card.is-status-closed,
.dashboard-page .metric-card.is-gps-danger{
  background:#fff1f1;
  border-color:rgba(195,71,71,.2);
  border-left-color:#c34747;
}

.dashboard-page .metric-card.is-status-closed strong,
.dashboard-page .metric-card.is-gps-danger strong{
  color:#a93636;
}

.dashboard-page .metric-card.is-status-recovered,
.dashboard-page .metric-card.is-gps-ok,
.dashboard-page .metric-card.is-risk-low{
  background:#f0faf3;
  border-color:rgba(47,143,85,.2);
  border-left-color:#2f8f55;
}

.dashboard-page .metric-card.is-status-recovered strong,
.dashboard-page .metric-card.is-gps-ok strong,
.dashboard-page .metric-card.is-risk-low strong{
  color:#287845;
}

.dashboard-page .metric-card.is-risk,
.dashboard-page .metric-card.is-danger{
  background:#fff3ee;
  border-color:rgba(211,91,55,.22);
  border-left-color:#d35b37;
}

.dashboard-page .metric-card.is-risk strong,
.dashboard-page .metric-card.is-danger strong{
  color:#b84525;
}

.dashboard-page .metric-card.is-risk-warn,
.dashboard-page .metric-card.is-risk-neutral{
  background:#fff8e8;
  border-color:rgba(199,134,21,.2);
  border-left-color:#c78615;
}

.dashboard-page .metric-card.is-risk-warn strong,
.dashboard-page .metric-card.is-risk-neutral strong{
  color:#916514;
}

.dashboard-page .metric-card.is-sample{
  background:#f8f1fb;
  border-color:rgba(126,73,145,.2);
  border-left-color:#7e4991;
}

.dashboard-page .metric-card.is-sample strong{
  color:#67377b;
}

.dashboard-page .report-kpi{
  color:#173826;
  font-weight:900;
}

.dashboard-page .report-story strong{
  font-weight:900;
}

.dashboard-page .report-article,
.dashboard-page .report-story,
.dashboard-page .insight-text,
.dashboard-page .direct-note{
  font-family:Helvetica, Arial, sans-serif;
  font-size:.9rem;
}

.dashboard-page .report-article h3,
.dashboard-page .report-story h3{
  font-size:1rem;
}

.dashboard-page .panel-mini-title{
  font-size:.82rem;
}

.dashboard-page .insight-text{
  color:#43515c;
  line-height:1.65;
}

.dashboard-page .insight-list .insight-text strong,
.dashboard-page .insight-text .report-kpi{
  display:inline;
  margin:0;
  font-size:inherit;
  color:#173826;
  font-weight:900;
}

.dashboard-page .insight-text p{
  margin:0 0 10px;
}

.dashboard-page .insight-text p:last-child{
  margin-bottom:0;
}

.dashboard-page .consolidated-visits-card{
  display:flex;
  flex-direction:column;
  min-height:0;
}

.dashboard-page .consolidated-visits-box{
  max-height:min(56vh, 520px);
  overflow:auto;
  border-radius:8px;
}

.dashboard-page .consolidated-visits-box thead th{
  position:sticky;
  top:0;
  z-index:2;
}

@media (max-width:920px){
  .dashboard-page .panel-action-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:600px){
  .dashboard-page .panel-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-page .consolidated-visits-box{
    max-height:440px;
  }
}

/* Polimento operacional do index principal: leitura rapida em campo, sem alterar fluxo */
.field-page .card,
.field-page .property-card,
.field-page .selected-card,
.field-page .history-card,
.field-page .insight-card,
.field-page .metric-card,
.field-page .summary-tile,
.field-page .deposit-card,
.field-page .table-wrap,
.field-page .property-list,
.field-page .visit-wizard,
.field-page .visit-step-chip,
.field-page .empty-state,
.field-page .screen-badge,
.field-page .weather-strip{
  border-radius:8px;
}

.field-page .btn,
.field-page .choice-btn,
.field-page .quick-btn,
.field-page .stepper button,
.field-page input,
.field-page select,
.field-page textarea,
.field-page .chip,
.field-page .tab-btn,
.field-page .meta-pill,
.field-page .status-pill,
.field-page .tag,
.field-page .property-filter-btn{
  border-radius:8px;
}

.field-page .card{
  border-color:#cfdbe0;
  box-shadow:0 12px 28px rgba(24,60,44,.08);
}

.field-page .card::before{
  height:3px;
  background:linear-gradient(90deg,#26754b,#356aa6,#b88318);
}

.field-page .section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  color:#173826;
  font-size:1rem;
  text-transform:uppercase;
}

.field-page .screen-head{
  padding:10px 12px;
  border:1px solid rgba(24,60,44,.10);
  border-left:5px solid #2f7a52;
  border-radius:8px;
  background:linear-gradient(180deg,#ffffff,#f4f8f6);
  box-shadow:0 8px 18px rgba(24,60,44,.05);
}

.field-page .screen-head-copy strong{
  font-size:1.18rem;
}

.field-page .screen-badge{
  width:42px;
  height:42px;
  font-size:1.15rem;
}

.field-page .btn{
  min-height:52px;
  padding:13px 16px;
  font-size:.98rem;
  box-shadow:0 8px 18px rgba(24,60,44,.08);
}

.field-page .btn-primary{
  background:linear-gradient(180deg,#2f8f55,#1d613b);
}

.field-page .btn-secondary{
  background:linear-gradient(180deg,#3b75bd,#28558f);
}

.field-page .btn-danger{
  background:linear-gradient(180deg,#d65959,#aa3535);
}

.field-page .btn-warn{
  background:linear-gradient(180deg,#d8a42c,#9f6c0f);
}

.field-page .btn-soft{
  background:#ffffff;
  border:1px solid #cfdbe0;
}

.field-page .tab-btn{
  min-height:46px;
  min-width:112px;
}

.field-page .sync-banner{
  border-radius:8px;
  min-height:40px;
  padding:10px 14px;
  font-size:.86rem;
  box-shadow:0 10px 24px rgba(17,50,33,.24);
}

.field-page .property-browser-card{
  border-left:5px solid #356aa6;
}

.field-page .property-form-card{
  border-left:5px solid #2f7a52;
}

.properties-screen .property-list{
  border:1px solid #cfdbe0;
  background:#f7faf8;
  min-height:min(64vh,680px);
  max-height:min(74vh,860px);
}

.properties-screen .property-list-head{
  background:#eef5f1;
  border-bottom:1px solid #d6e2dc;
}

.properties-screen .property-list-head strong{
  color:#173826;
}

.properties-screen .property-result-card{
  border-left:6px solid #2f7a52;
  background:#ffffff;
  box-shadow:0 8px 18px rgba(24,60,44,.06);
}

.properties-screen .property-result-card.is-near{
  border-left-color:#356aa6;
}

.properties-screen .property-result-card.is-focus{
  border-left-color:#c34747;
  background:#fff7f7;
}

.properties-screen .property-result-card.is-selected{
  outline:2px solid rgba(47,122,82,.28);
}

.properties-screen .property-card-title{
  color:#173826;
  font-size:1.06rem;
}

.properties-screen .property-card-statusline{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin:8px 0 6px;
}

.properties-screen .status-cell{
  display:flex;
  align-items:center;
  min-height:30px;
  padding:6px 8px;
  border:1px solid #d8e2de;
  border-radius:8px;
  background:#f8fbf9;
  color:#42544b;
  font-size:.78rem;
  font-weight:800;
  overflow-wrap:anywhere;
}

.properties-screen .status-cell.is-ok{
  border-color:#b9d9c2;
  background:#edf8f1;
  color:#1d613b;
}

.properties-screen .status-cell.is-warn{
  border-color:#ead69b;
  background:#fff8e4;
  color:#6d4c0b;
}

.properties-screen .status-cell.is-danger{
  border-color:#f0b5b5;
  background:#fff1f1;
  color:#9f3030;
}

.properties-screen .status-cell.is-accent{
  border-color:#b8cdef;
  background:#eef5ff;
  color:#28558f;
}

.properties-screen .status-cell.is-muted{
  border-style:dashed;
  color:#66727c;
}

.properties-screen .property-card-mainline,
.properties-screen .property-card-subline,
.properties-screen .property-card-territory{
  color:#44554d;
}

.properties-screen .property-result-card .card-actions .btn{
  min-height:46px;
  border-radius:8px;
}

.property-filter-btn{
  min-height:40px;
  border:1px solid #cfdbe0;
  background:#ffffff;
}

.property-filter-btn.is-active{
  background:#21563c;
  border-color:#21563c;
  color:#ffffff;
}

.field-page .empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:116px;
  padding:18px;
  border:1px dashed #b8c8c0;
  background:#f8fbf9;
  color:#52625a;
  text-align:center;
}

.field-page .empty-state strong{
  display:block;
  color:#173826;
  font-size:1rem;
}

.field-page .empty-state span{
  display:block;
  max-width:48ch;
  margin-top:6px;
  line-height:1.4;
}

.field-page #screen-painel .hero-grid{
  gap:12px;
}

.field-page #screen-painel .hero-card{
  min-height:104px;
  border-radius:8px;
}

.field-page #screen-painel .hero-card strong{
  font-size:1.85rem;
}

.field-page .metric-card{
  border-radius:8px;
  padding:16px;
  border-left:5px solid #2f7a52;
}

.field-page .metric-card.is-danger{
  border-left-color:#c34747;
}

.field-page .metric-card.is-warn{
  border-left-color:#b88318;
}

.field-page .metric-card.is-accent{
  border-left-color:#356aa6;
}

.field-page .metric-card strong{
  font-size:1.78rem;
}

.visit-screen .visit-summary-grid{
  display:block;
}

.visit-screen .visit-summary-mini-card{
  min-height:72px;
  border-color:#d4e1da;
  background:#ffffff;
}

.visit-screen .visit-summary-mini-card strong{
  font-size:.92rem;
}

.visit-screen .visit-wizard{
  border-left:5px solid #356aa6;
}

.visit-step-chip{
  border-color:#cfdbe0;
  background:#ffffff;
}

.visit-step-chip.is-active{
  background:#21563c;
}

.visit-step-chip.is-done{
  background:#edf8f1;
}

.field-page #screen-visita,
.field-page #screen-painel{
  padding-top:10px;
}

.field-page #screen-painel .hero-grid{
  margin-top:0;
}

.visit-screen .visit-wizard{
  margin-bottom:10px;
}

.visit-screen .visit-card{
  padding:16px 18px;
  margin-bottom:12px;
}

.visit-screen .visit-data-card,
.visit-screen .visit-deposit-card{
  margin-top:0;
}

.visit-screen .field{
  margin-bottom:10px;
}

.visit-screen .field-help{
  margin-top:4px;
}

.visit-step-gate{
  margin:14px 0 16px;
}

.visit-step-gate-field{
  margin:0;
}

.visit-step-gate-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
}

.visit-step-gate-compact span{
  display:block;
  margin:0 0 6px;
  color:#53645a;
  font-size:.86rem;
  font-weight:800;
}

.visit-step-gate-compact .choice-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.visit-step-gate-compact .choice-btn{
  min-height:44px;
  padding:6px 10px;
  border-radius:12px;
  font-size:.95rem;
}

.visit-step-gate-compact .choice-btn-yes{
  border-color:rgba(31,122,74,.38);
  background:#eef9f2;
  color:#17613b;
}

.visit-step-gate-compact .choice-btn-no{
  border-color:rgba(180,76,49,.38);
  background:#fff0ea;
  color:#9f3d25;
}

.visit-step-gate-compact .choice-btn-yes.active,
.visit-step-gate-compact .choice-btn-no.active{
  color:#fff;
}

.visit-step-gate-compact .choice-btn span{
  display:none;
}

.deposit-card.has-treatment{
  border-color:#b88318;
}

.deposit-treatment-box{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(24,60,44,.10);
}

.deposit-tubitos-inline{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(184,131,24,.22);
  border-radius:8px;
  background:#fff9e8;
}

@media (max-width:820px){
  .field-page .screen-head{
    display:flex;
    text-align:left;
  }

  .field-page .visit-screen .screen-head-copy,
  .field-page #screen-painel .screen-head-copy{
    grid-column:auto;
    align-items:flex-start;
  }

  .field-page .visit-screen .screen-badge,
  .field-page #screen-painel .screen-badge{
    grid-column:auto;
  }

  .properties-screen .property-card-statusline{
    grid-template-columns:1fr;
  }

  .visit-step-gate-compact{
    grid-template-columns:1fr;
  }

  .properties-screen .property-result-card .card-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .field-page .properties-screen .property-list{
    min-height:68vh;
    max-height:72vh;
  }

  .field-page .properties-screen .property-list-body{
    padding-bottom:22px;
  }

  .field-page .card{
    padding:16px 14px;
  }

  .field-page .card::before{
    margin:-16px -14px 12px;
  }

  .field-page .btn{
    min-height:48px;
    padding:11px 12px;
  }

  .field-page .chip-row{
    gap:6px;
  }

  .field-page .chip{
    min-height:38px;
    padding:8px 10px;
    font-size:.78rem;
  }

  .field-page .visit-card,
  .field-page .property-browser-card,
  .field-page .property-form-card{
    margin-bottom:12px;
  }

  .field-page .field{
    gap:6px;
  }

  .visit-screen .choice-grid,
  .visit-screen .deposit-grid,
  .field-page .dashboard-day-actions{
    gap:8px;
  }

  .field-page .dashboard-day-actions .btn{
    min-height:44px;
    padding:10px;
    font-size:.9rem;
  }

  .properties-screen .property-result-card{
    padding:12px;
  }

  .properties-screen .property-card-subline{
    display:block;
    font-size:.78rem;
  }

  .properties-screen .property-result-card .card-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .visit-screen .visit-summary-grid{
    grid-template-columns:1fr;
  }
}

/* Painel: aparência executiva, com cor apenas como acento operacional */
.dashboard-page{
  background:#f3f5f6;
  color:#1f2b32;
}

.dashboard-page .page-shell::before{
  display:none;
}

.dashboard-page .topbar{
  background:#173124;
  box-shadow:0 2px 10px rgba(20,35,28,.14);
}

.dashboard-page .brand-mark{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:none;
  border-radius:8px;
  color:#fff;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.04em;
}

.dashboard-page .chip{
  border-radius:4px;
  box-shadow:none;
}

.dashboard-page .content-wrap{
  gap:16px;
}

.dashboard-page .card,
.dashboard-page .ranking-card,
.dashboard-page .chart-card,
.dashboard-page .insight-card,
.dashboard-page .property-card,
.dashboard-page .history-card,
.dashboard-page .agent-card,
.dashboard-page .table-wrap,
.dashboard-page .report-article,
.dashboard-page .direct-note,
.dashboard-page .panel-subsection{
  background:#ffffff;
  border:1px solid #d9e0e3;
  border-radius:8px;
  box-shadow:0 1px 4px rgba(27,37,46,.06);
}

.dashboard-page .card::before{
  height:0;
  margin:0;
  background:none;
}

.dashboard-page .section-title,
.dashboard-page .panel-mini-title{
  color:#20313a;
  letter-spacing:0;
  text-transform:none;
}

.dashboard-page .card-note,
.dashboard-page .topbar .brand-copy p,
.dashboard-page .metric-card small,
.dashboard-page .insight-text,
.dashboard-page .report-story p,
.dashboard-page .direct-note p{
  color:#5c6972;
}

.dashboard-page .field label{
  letter-spacing:0;
  text-transform:none;
  color:#3d4b54;
}

.dashboard-page input,
.dashboard-page select,
.dashboard-page textarea{
  background:#ffffff;
  border-color:#cfd8dd;
  box-shadow:none;
}

.dashboard-page input:focus,
.dashboard-page select:focus,
.dashboard-page textarea:focus{
  border-color:#6f8a7c;
  box-shadow:0 0 0 3px rgba(47,122,82,.12);
}

.dashboard-page .panel-action-grid .btn{
  min-height:38px;
  background:#ffffff;
  color:#20313a;
  border:1px solid #cfd8dd;
  border-left:4px solid #7b8a93;
  box-shadow:none;
}

.dashboard-page .panel-action-grid .btn:hover{
  transform:none;
  box-shadow:0 3px 10px rgba(27,37,46,.08);
}

.dashboard-page .panel-action-refresh{border-left-color:#2f6f4f;}
.dashboard-page .panel-action-auto{border-left-color:#356aa6;}
.dashboard-page .panel-action-clear{border-left-color:#b88318;}
.dashboard-page .panel-action-exec{border-left-color:#4f6f83;}
.dashboard-page .panel-action-agent{border-left-color:#9f4545;}

.dashboard-page .metric-grid{
  gap:10px;
}

.dashboard-page .metric-card{
  background:#ffffff;
  border:1px solid #d9e0e3;
  border-left:5px solid #7f8d95;
  border-radius:8px;
  box-shadow:none;
  padding:13px 12px;
  text-align:left;
}

.dashboard-page .metric-card::before{
  display:none;
}

.dashboard-page .metric-card small{
  font-size:.78rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}

.dashboard-page .metric-card strong{
  margin-top:8px;
  font-size:1.72rem;
  line-height:1;
  color:#20313a;
}

.dashboard-page .metric-card.is-base,
.dashboard-page .metric-card.is-team,
.dashboard-page .metric-card.is-status-recovered,
.dashboard-page .metric-card.is-gps-ok,
.dashboard-page .metric-card.is-risk-low{
  border-left-color:#3f7f5b;
}

.dashboard-page .metric-card.is-base strong,
.dashboard-page .metric-card.is-team strong,
.dashboard-page .metric-card.is-status-recovered strong,
.dashboard-page .metric-card.is-gps-ok strong,
.dashboard-page .metric-card.is-risk-low strong{
  color:#2f6548;
}

.dashboard-page .metric-card.is-production,
.dashboard-page .metric-card.is-status-open{
  border-left-color:#4f6f83;
}

.dashboard-page .metric-card.is-production strong,
.dashboard-page .metric-card.is-status-open strong{
  color:#365a72;
}

.dashboard-page .metric-card.is-production-warn,
.dashboard-page .metric-card.is-return,
.dashboard-page .metric-card.is-gps-warn,
.dashboard-page .metric-card.is-risk-warn,
.dashboard-page .metric-card.is-risk-neutral{
  border-left-color:#b88318;
}

.dashboard-page .metric-card.is-production-warn strong,
.dashboard-page .metric-card.is-return strong,
.dashboard-page .metric-card.is-gps-warn strong,
.dashboard-page .metric-card.is-risk-warn strong,
.dashboard-page .metric-card.is-risk-neutral strong{
  color:#846019;
}

.dashboard-page .metric-card.is-status-closed,
.dashboard-page .metric-card.is-gps-danger,
.dashboard-page .metric-card.is-risk,
.dashboard-page .metric-card.is-danger{
  border-left-color:#a84e4e;
}

.dashboard-page .metric-card.is-status-closed strong,
.dashboard-page .metric-card.is-gps-danger strong,
.dashboard-page .metric-card.is-risk strong,
.dashboard-page .metric-card.is-danger strong{
  color:#8f3d3d;
}

.dashboard-page .metric-card.is-sample{
  border-left-color:#76608a;
}

.dashboard-page .metric-card.is-sample strong{
  color:#604d75;
}

.dashboard-page .report-article,
.dashboard-page .direct-note,
.dashboard-page .panel-subsection{
  padding:16px;
  line-height:1.62;
}

.dashboard-page .report-story,
.dashboard-page .direct-note{
  background:#ffffff;
  border-color:#d9e0e3;
  border-radius:8px;
}

.dashboard-page .report-kpi,
.dashboard-page .report-story strong,
.dashboard-page .insight-text .report-kpi{
  color:#1f2f38;
}

.dashboard-page .insight-list,
.dashboard-page #drilldownPanel,
.dashboard-page #criticalStreetList,
.dashboard-page #decisionList{
  background:#f8fafb;
  border-color:#dfe5e8;
  border-radius:8px;
}

.dashboard-page th{
  background:#eef2f3;
  color:#2c3b43;
  letter-spacing:0;
  text-transform:none;
}

.dashboard-page td{
  color:#26353d;
}

.dashboard-page .map-shell{
  background:#eef2f3;
  border-color:#cfd8dd;
  box-shadow:none;
}

.dashboard-page .map-shell::before{
  display:none;
}

.dashboard-page .map-toggle{
  background:#ffffff;
  border-color:#cfd8dd;
  box-shadow:none;
}

.dashboard-page .map-toggle:hover{
  box-shadow:0 2px 8px rgba(27,37,46,.07);
}

.dashboard-page .map-toggle::after{
  opacity:.42;
}

.dashboard-page .map-toggle.is-on::after{
  opacity:.78;
}

.dashboard-page .sync-banner{
  background:#20313a;
  box-shadow:0 4px 14px rgba(27,37,46,.18);
}

.dashboard-page .executive-report{
  display:grid;
  gap:12px;
}

.dashboard-page .executive-report h3{
  margin:0;
  text-align:left;
}

.dashboard-page .report-context{
  padding:8px 10px;
  border:1px solid #d9e0e3;
  border-radius:6px;
  background:#f8fafb;
  color:#52606a;
  font-size:.82rem;
  line-height:1.4;
}

.dashboard-page .report-alert{
  display:grid;
  grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #d9e0e3;
  border-left:5px solid #6f8a7c;
  border-radius:6px;
  background:#ffffff;
}

.dashboard-page .report-alert strong{
  display:block;
  color:#20313a;
  font-size:.95rem;
}

.dashboard-page .report-alert span{
  color:#52606a;
  line-height:1.45;
}

.dashboard-page .report-alert.is-stable{
  border-left-color:#3f7f5b;
}

.dashboard-page .report-alert.is-warning{
  border-left-color:#b88318;
}

.dashboard-page .report-alert.is-priority{
  border-left-color:#8f6544;
}

.dashboard-page .report-alert.is-critical{
  border-left-color:#a84e4e;
}

.dashboard-page .executive-section{
  padding:10px 12px;
  border:1px solid #e0e6e9;
  border-radius:6px;
  background:#ffffff;
}

.dashboard-page .executive-section h4{
  margin:0 0 6px;
  color:#20313a;
  font-size:.9rem;
}

.dashboard-page .executive-section p{
  margin:0 0 7px;
  text-align:left;
}

.dashboard-page .executive-section p:last-child{
  margin-bottom:0;
}

.dashboard-page .territory-readout{
  display:grid;
  gap:10px;
}

.dashboard-page .territory-lead,
.dashboard-page .territory-row,
.dashboard-page .decision-row{
  display:grid;
  grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:9px 10px;
  border:1px solid #e0e6e9;
  border-left:4px solid #6f8a7c;
  border-radius:6px;
  background:#ffffff;
}

.dashboard-page .territory-lead strong,
.dashboard-page .territory-row strong,
.dashboard-page .decision-row strong{
  color:#20313a;
  font-size:.84rem;
}

.dashboard-page .territory-lead .report-kpi,
.dashboard-page .territory-row .report-kpi,
.dashboard-page .decision-row .report-kpi,
.dashboard-page .direct-note .report-kpi{
  display:inline;
  margin:0;
  font-size:inherit;
  color:#1f2f38;
}

.dashboard-page .territory-lead span,
.dashboard-page .territory-row span,
.dashboard-page .decision-row span{
  color:#4f5e67;
  line-height:1.45;
}

.dashboard-page .territory-readout-grid,
.dashboard-page .decision-grid{
  display:grid;
  gap:7px;
}

.dashboard-page .decision-row-main{
  border-left-color:#8f6544;
}

@media (max-width:720px){
  .dashboard-page .report-alert{
    grid-template-columns:1fr;
  }

  .dashboard-page .territory-lead,
  .dashboard-page .territory-row,
  .dashboard-page .decision-row{
    grid-template-columns:1fr;
  }
}

/* Painel reorganizado em shell estático com telas internas */
.dashboard-page .panel-layout{
  display:grid;
  gap:16px;
}

.dashboard-page .panel-shell-card{
  position:sticky;
  top:10px;
  z-index:30;
  display:grid;
  gap:14px;
  padding-bottom:14px;
}

.dashboard-page .panel-shell-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dashboard-page .panel-filter-toolbar{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:12px;
}

.dashboard-page .panel-shell-actions,
.dashboard-page .panel-report-actions{
  margin-top:0;
  justify-content:flex-start;
}

.dashboard-page .panel-view-nav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding-top:4px;
  border-top:1px solid #e1e7ea;
}

.dashboard-page .panel-view-nav .tab-btn{
  min-width:0;
  min-height:46px;
  padding:12px 14px;
  border:1px solid #cfd8dd;
  border-radius:8px;
  background:#f7f9fa;
  color:#2b3a43;
  box-shadow:none;
  text-transform:none;
  letter-spacing:0;
  font-size:.96rem;
}

.dashboard-page .panel-view-nav .tab-btn:hover{
  background:#ffffff;
  color:#1f2f38;
}

.dashboard-page .panel-view-nav .tab-btn.active{
  background:#20313a;
  color:#ffffff;
  border-color:#20313a;
}

.dashboard-page .panel-workspace{
  display:grid;
}

.dashboard-page .panel-view{
  display:none;
  gap:16px;
}

.dashboard-page .panel-view.is-active{
  display:grid;
}

.dashboard-page .panel-screen-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 2px;
}

.dashboard-page .panel-screen-head .screen-head-copy strong{
  display:block;
  font-size:1.22rem;
  color:#20313a;
}

.dashboard-page .panel-screen-head .screen-head-copy span{
  display:block;
  margin-top:4px;
  color:#5c6972;
}

.dashboard-page .panel-screen-head .screen-badge{
  min-width:48px;
  height:48px;
  border-radius:8px;
  background:#eef2f3;
  border:1px solid #d9e0e3;
  font-size:1.22rem;
}

.dashboard-page .panel-operational-grid{
  display:grid;
  gap:16px;
  align-items:start;
}

.dashboard-page .panel-operational-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dashboard-page .panel-operational-grid-4{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dashboard-page .panel-indicator-detail-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
}

.dashboard-page .panel-report-screen-card .report-article{
  padding:0;
  border:none;
  box-shadow:none;
  background:transparent;
}

.dashboard-page .panel-visits-grid{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.6fr);
  gap:16px;
  align-items:start;
}

.dashboard-page .panel-visit-inspection-card,
.dashboard-page .panel-visits-table-card{
  display:grid;
  gap:12px;
}

.dashboard-page #visitInspectionPanel{
  min-height:220px;
}

.dashboard-page .consolidated-visits-card .table-wrap{
  max-height:640px;
  overflow:auto;
}

.dashboard-page .consolidated-visits-card table{
  min-width:1000px;
}

.dashboard-page .panel-map-card{
  display:grid;
  gap:14px;
}

.dashboard-page .panel-map-card .map-shell{
  min-height:620px;
  height:calc(100vh - 320px);
  max-height:760px;
}

.dashboard-page .ranking-list,
.dashboard-page .chart-list,
.dashboard-page .insight-list,
.dashboard-page #drilldownPanel,
.dashboard-page #criticalStreetList,
.dashboard-page #decisionList,
.dashboard-page #visitInspectionPanel{
  min-height:160px;
}

@media (max-width: 1180px){
  .dashboard-page .panel-filter-toolbar{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .dashboard-page .panel-view-nav{
    grid-template-columns:1fr;
  }

  .dashboard-page .panel-operational-grid-2,
  .dashboard-page .panel-operational-grid-4,
  .dashboard-page .panel-indicator-detail-grid,
  .dashboard-page .panel-visits-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 820px){
  .dashboard-page .panel-shell-card{
    position:relative;
    top:0;
  }

  .dashboard-page .panel-filter-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-page .panel-screen-head{
    align-items:flex-start;
  }

  .dashboard-page .panel-map-card .map-shell{
    min-height:420px;
    height:60vh;
  }
}

@media (max-width: 560px){
  .dashboard-page .panel-filter-toolbar{
    grid-template-columns:1fr;
  }

  .dashboard-page .panel-screen-head{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* Refinamento visual do shell do painel com inspiração clássica de software desktop */
.dashboard-page{
  background:#cfd6df;
}

.dashboard-page body,
body.dashboard-page{
  background:linear-gradient(180deg,#cbd3dd 0,#dbe1e8 180px,#d2d9e1 100%);
}

.dashboard-page .topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:linear-gradient(180deg,#365443,#294737);
  color:#f5fbf7;
  border-bottom:1px solid #1e3328;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), 0 2px 0 rgba(18,35,26,.20);
}

.dashboard-page .topbar-row{
  padding:10px 16px;
  gap:10px;
}

.dashboard-page .brand-mark{
  width:42px;
  height:42px;
  border-radius:4px;
  background:linear-gradient(180deg,#8fa691,#6d876f);
  border:1px solid rgba(21,41,29,.52);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.36);
  font-size:18px;
}

.dashboard-page .brand-copy h1{
  font-size:1.05rem;
  letter-spacing:.02em;
}

.dashboard-page .brand-copy p{
  margin-top:2px;
  color:#ffffff;
  font-size:.84rem;
}

.dashboard-page .chip{
  min-height:34px;
  padding:7px 12px;
  border-radius:4px;
  border:1px solid rgba(19,39,27,.42);
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14);
  font-size:.8rem;
}

.dashboard-page .card,
.dashboard-page .panel-shell-card,
.dashboard-page .panel-view-nav .tab-btn,
.dashboard-page .panel-screen-head .screen-badge,
.dashboard-page .metric-card,
.dashboard-page .ranking-card,
.dashboard-page .chart-card,
.dashboard-page .insight-card,
.dashboard-page .property-card,
.dashboard-page .history-card,
.dashboard-page .agent-card{
  border-radius:2px;
}

.dashboard-page .panel-shell-card{
  gap:0;
  padding:0 14px 14px;
  border:1px solid #6c8570;
  background:linear-gradient(180deg,#eef3ef,#dde7df 58%,#d6e0d7);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.62), 0 3px 0 rgba(33,56,42,.10);
}

.dashboard-page .panel-shell-card::before{
  display:none;
}

.dashboard-page .panel-window-strip{
  margin:0 -14px;
  padding:6px 12px;
  background:linear-gradient(180deg,#58705e,#46604d);
  color:#f3f8f4;
  border-bottom:1px solid #314438;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:none;
}

.dashboard-page .panel-shell-head{
  padding:12px 0 10px;
  justify-content:center;
  text-align:center;
  border-bottom:1px solid #9daf9f;
}

.dashboard-page .panel-shell-head-copy{
  max-width:860px;
}

.dashboard-page .panel-shell-head .section-title{
  margin:0;
  font-size:1.14rem;
  letter-spacing:.08em;
  color:#214031;
}

.dashboard-page .panel-shell-head .card-note{
  margin-top:5px;
  color:#516253;
  font-size:.84rem;
}

.dashboard-page .panel-filter-toolbar{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:8px 10px;
  padding:12px 0 10px;
  border-bottom:1px solid #afbeb0;
}

.dashboard-page .panel-filter-toolbar .field{
  gap:4px;
}

.dashboard-page .panel-filter-toolbar .field label{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.04em;
  color:#405443;
}

.dashboard-page .panel-filter-toolbar input,
.dashboard-page .panel-filter-toolbar select{
  min-height:36px;
  border:1px solid #859989;
  background:linear-gradient(180deg,#fcfefd,#eef4ef);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.75);
  border-radius:2px;
}

.dashboard-page .panel-shell-actions,
.dashboard-page .panel-report-actions{
  padding:10px 0;
  border-bottom:1px solid #afbeb0;
}

.dashboard-page .panel-action-grid .btn{
  min-height:38px;
  border-radius:2px;
  border:1px solid rgba(32,53,39,.55);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.32);
}

.dashboard-page .panel-view-nav{
  gap:8px;
  padding-top:10px;
  border-top:none;
}

.dashboard-page .panel-view-nav .tab-btn{
  min-height:40px;
  padding:9px 12px;
  border:1px solid #718773;
  background:linear-gradient(180deg,#f0f4f1,#dbe5dd);
  color:#243629;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.55);
  font-size:.9rem;
  font-weight:700;
}

.dashboard-page .panel-view-nav .tab-btn.active{
  background:linear-gradient(180deg,#c9d7cb,#b7c7b9);
  color:#173123;
  border-color:#617765;
}

.dashboard-page .panel-view-nav .tab-btn:hover{
  background:linear-gradient(180deg,#f7faf8,#e2ebe4);
  color:#1d3526;
}

.dashboard-page .panel-workspace{
  padding:2px;
}

.dashboard-page .panel-view{
  gap:14px;
}

.dashboard-page .panel-screen-head{
  padding:2px 2px 0;
}

.dashboard-page .panel-screen-head .screen-head-copy strong{
  color:#234031;
  font-size:1.12rem;
}

.dashboard-page .panel-screen-head .screen-head-copy span{
  margin-top:3px;
  color:#576759;
  font-size:.88rem;
}

.dashboard-page .panel-screen-head .screen-badge{
  min-width:40px;
  height:40px;
  background:linear-gradient(180deg,#f4f8f4,#e1e9e2);
  border:1px solid #9cad9c;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.55);
}

.dashboard-page .panel-report-analysis-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dashboard-page .panel-visits-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}

.dashboard-page .panel-visit-inspection-card,
.dashboard-page .panel-visits-table-card{
  gap:10px;
}

.dashboard-page .consolidated-visits-list{
  display:grid;
  gap:10px;
}

.dashboard-page .visit-list-empty{
  padding:18px 14px;
  border:1px solid #b1bbb2;
  background:#f7faf7;
  color:#59685b;
}

.dashboard-page .visit-list-item{
  display:grid;
  gap:5px;
  padding:10px 12px;
  border:1px solid #a5b6a7;
  background:linear-gradient(180deg,#fefefe,#eef4ef);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.75);
}

.dashboard-page .visit-list-item.is-active-row{
  border-color:#6c856f;
  background:linear-gradient(180deg,#eef4ef,#dde8df);
}

.dashboard-page .visit-list-item__head,
.dashboard-page .visit-list-item__status{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.dashboard-page .visit-list-item__head strong{
  color:#243c2c;
  font-size:.93rem;
}

.dashboard-page .visit-list-item__head span,
.dashboard-page .visit-list-item__meta,
.dashboard-page .visit-list-item__status span{
  color:#5a695c;
  font-size:.85rem;
}

.dashboard-page .visit-list-item__address{
  font-weight:700;
  color:#25402e;
}

.dashboard-page .visit-list-item__actions{
  padding-top:3px;
  font-size:.86rem;
  font-weight:700;
}

.dashboard-page .consolidated-visits-card .table-wrap,
.dashboard-page .consolidated-visits-card table{
  max-height:none;
  min-width:0;
}

@media (max-width:1180px){
  .dashboard-page .panel-filter-toolbar{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .dashboard-page .panel-report-analysis-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:820px){
  .dashboard-page .panel-filter-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Ajustes pontuais: remover quadro vazio da inspeção e conter o mapa abaixo dos filtros */
.dashboard-page .panel-visits-grid.is-inspection-hidden{
  grid-template-columns:1fr;
}

.dashboard-page .panel-visits-grid.is-inspection-hidden .panel-visits-table-card{
  grid-column:1 / -1;
}

.dashboard-page .panel-visit-inspection-card[hidden]{
  display:none;
}

.dashboard-page .panel-map-card,
.dashboard-page .panel-map-card .map-shell,
.dashboard-page #heatMap{
  position:relative;
  z-index:1;
}

.dashboard-page .panel-map-card .leaflet-container,
.dashboard-page .panel-map-card .leaflet-pane,
.dashboard-page .panel-map-card .leaflet-top,
.dashboard-page .panel-map-card .leaflet-bottom,
.dashboard-page .panel-map-card .leaflet-control-container{
  z-index:1;
}

.dashboard-page .panel-shell-card,
.dashboard-page .topbar{
  isolation:isolate;
}


/* Cabeçalho compactado com ações na mesma linha da busca */
.dashboard-page .panel-shell-card{
  padding-top:10px;
}

.dashboard-page .panel-filter-toolbar{
  align-items:end;
}

.dashboard-page .panel-filter-toolbar .field-button{
  justify-content:end;
}

.dashboard-page .panel-filter-toolbar .field-button .label-spacer{
  visibility:hidden;
  user-select:none;
}

.dashboard-page .panel-filter-toolbar .field-button .btn{
  width:100%;
  min-height:36px;
  margin:0;
}

@media (max-width:1180px){
  .dashboard-page .panel-filter-toolbar .field-button .label-spacer{
    display:block;
  }
}

.dashboard-page .panel-filter-toolbar .field-span-3{
  grid-column:span 3;
}

@media (max-width:980px){
  .dashboard-page .panel-filter-toolbar .field-span-3{
    grid-column:span 2;
  }
}

@media (max-width:560px){
}


/* Ajuste fino: ações do filtro no mesmo padrão visual das abas internas */
.dashboard-page .panel-action-grid .btn{
  min-height:40px;
  padding:9px 12px;
  border:1px solid #718773;
  border-left:1px solid #718773;
  border-radius:2px;
  background:linear-gradient(180deg,#f0f4f1,#dbe5dd);
  color:#243629;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.55);
  font-size:.9rem;
  font-weight:700;
  line-height:1.15;
}

.dashboard-page .panel-action-grid .btn:hover{
  background:linear-gradient(180deg,#f7faf8,#e2ebe4);
  color:#1d3526;
  transform:none;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.55);
}

.dashboard-page .panel-action-refresh,
.dashboard-page .panel-action-auto,
.dashboard-page .panel-action-clear{
  border-left-color:#718773;
}


/* Ajuste final: shell de filtros fixo abaixo do cabeçalho e ações sem auto */
:root{
  --panel-topbar-offset:98px;
}

.dashboard-page .panel-shell-card{
  top:var(--panel-topbar-offset);
  padding-top:0;
}

.dashboard-page .content-wrap.panel-layout{
  padding-top:12px;
}

.dashboard-page .panel-filter-toolbar{
  grid-template-columns:repeat(8,minmax(0,1fr));
  align-items:end;
}

.dashboard-page .panel-filter-toolbar .field-span-3{
  grid-column:span 4;
}

.dashboard-page .panel-filter-toolbar .field-button .btn{
  width:100%;
  min-height:46px;
  padding:12px 14px;
  border:1px solid #cfd8dd;
  border-radius:8px;
  background:#f7f9fa;
  color:#2b3a43;
  box-shadow:none;
  font-size:.96rem;
  font-weight:700;
  line-height:1.15;
}

.dashboard-page .panel-filter-toolbar .field-button .btn:hover{
  background:#ffffff;
  color:#1f2f38;
  transform:none;
  box-shadow:none;
}

.dashboard-page .panel-action-refresh,
.dashboard-page .panel-action-clear{
  border-left:1px solid #cfd8dd;
}

@media (max-width:1180px){
  .dashboard-page .panel-filter-toolbar .field-span-3{
    grid-column:span 2;
  }
}

@media (max-width:560px){
  .dashboard-page .panel-filter-toolbar .field-span-3{
    grid-column:auto;
  }
}


/* Caixa externa para Indicadores e Relatórios, no mesmo padrão administrativo da área consolidada */
.dashboard-page .panel-view[data-panel-view-content="indicators"],
.dashboard-page .panel-view[data-panel-view-content="reports"]{
  padding:16px 18px;
  border:1px solid #9ba99d;
  background:linear-gradient(180deg,#f7faf7 0%, #edf3ee 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.72);
}

.dashboard-page .panel-view[data-panel-view-content="indicators"] .panel-screen-head,
.dashboard-page .panel-view[data-panel-view-content="reports"] .panel-screen-head{
  padding:0 2px 2px;
}

@media (max-width:820px){
  .dashboard-page .panel-view[data-panel-view-content="indicators"],
  .dashboard-page .panel-view[data-panel-view-content="reports"]{
    padding:14px;
  }
}


/* Ajuste final real: bloco fixo junto ao shell de filtros e rolagem só na área inferior */
:root{
  --panel-topbar-height:72px;
  --panel-shell-height:220px;
  --panel-workspace-gap:10px;
}

.dashboard-page .panel-workspace{
  display:grid;
  gap:var(--panel-workspace-gap);
  padding:0;
}

.dashboard-page .panel-view{
  gap:var(--panel-workspace-gap);
}

.dashboard-page .panel-view[data-panel-view-content="indicators"],
.dashboard-page .panel-view[data-panel-view-content="reports"]{
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}

.dashboard-page .panel-view.panel-view-split{
  display:none;
  align-items:start;
}

.dashboard-page .panel-view.panel-view-split.is-active{
  display:grid;
}

.dashboard-page .panel-view-split .panel-view-fixed{
  position:sticky;
  top:calc(var(--panel-topbar-height) + var(--panel-shell-height) + var(--panel-workspace-gap));
  z-index:8;
}

.dashboard-page .panel-fixed-card{
  padding:10px 16px 16px;
}

.dashboard-page .panel-fixed-card .section-title{
  margin-bottom:10px;
}

.dashboard-page .panel-fixed-metrics-card{
  padding-bottom:18px;
}

.dashboard-page .panel-operational-extras{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.dashboard-page .panel-brief-box{
  padding:10px 11px;
  border:1px solid #d8e1da;
  background:linear-gradient(180deg,#fcfdfc 0%,#f2f6f3 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.82);
}

.dashboard-page .panel-brief-box h3{
  margin:0 0 8px;
  font-size:.84rem;
  line-height:1.15;
  color:#1f3528;
}

.dashboard-page .panel-brief-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.dashboard-page .panel-brief-stat{
  padding:7px 8px;
  border:1px solid #d7dfd9;
  background:#fff;
}

.dashboard-page .panel-brief-stat small{
  display:block;
  color:#5d6b64;
  font-size:.72rem;
  font-weight:800;
  line-height:1.2;
}

.dashboard-page .panel-brief-stat strong{
  display:block;
  margin-top:5px;
  color:#20313a;
  font-size:1.08rem;
  line-height:1;
}

.dashboard-page .panel-brief-stat.is-ok{border-left:4px solid #3f7f5b;}
.dashboard-page .panel-brief-stat.is-ok strong{color:#2f6548;}
.dashboard-page .panel-brief-stat.is-accent{border-left:4px solid #4f6f83;}
.dashboard-page .panel-brief-stat.is-accent strong{color:#365a72;}
.dashboard-page .panel-brief-stat.is-warn{border-left:4px solid #b88318;}
.dashboard-page .panel-brief-stat.is-warn strong{color:#846019;}
.dashboard-page .panel-brief-stat.is-danger{border-left:4px solid #a84e4e;}
.dashboard-page .panel-brief-stat.is-danger strong{color:#8f3d3d;}
.dashboard-page .panel-brief-stat.is-production{border-left:4px solid #4f6f83;}
.dashboard-page .panel-brief-stat.is-production strong{color:#365a72;}
.dashboard-page .panel-brief-stat.is-base{border-left:4px solid #7f8d95;}
.dashboard-page .panel-brief-stat.is-base strong{color:#20313a;}

.dashboard-page .panel-brief-lines{
  display:grid;
  gap:6px;
}

.dashboard-page .panel-brief-line{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:6px 0;
  border-top:1px dashed #d9e0db;
}

.dashboard-page .panel-brief-line:first-child{
  border-top:none;
  padding-top:0;
}

.dashboard-page .panel-brief-line strong{
  color:#425149;
  font-size:.74rem;
}

.dashboard-page .panel-brief-line span{
  color:#21322a;
  font-size:.78rem;
  line-height:1.34;
}

.dashboard-page .panel-report-actions-fixed .panel-report-actions{
  padding:0;
  border:none;
}

.dashboard-page .panel-report-actions-fixed .btn-row{
  margin-top:0;
}

.dashboard-page .panel-scroll-box{
  padding:10px;
  border:1px solid #b3c0b5;
  background:linear-gradient(180deg,#f6faf6 0%,#edf3ee 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.78);
  overflow:auto;
  min-height:320px;
  max-height:46vh;
}

.dashboard-page .panel-scroll-box-inner{
  display:grid;
  gap:14px;
}

.dashboard-page .panel-scroll-box .panel-operational-grid,
.dashboard-page .panel-scroll-box .panel-side-grid{
  margin:0;
}

.dashboard-page .panel-scroll-box .card{
  margin:0;
}

.dashboard-page .panel-view[data-panel-view-content="indicators"] .panel-screen-head,
.dashboard-page .panel-view[data-panel-view-content="reports"] .panel-screen-head{
  display:none;
}

@media (max-width:1180px){
  .dashboard-page .panel-view-split .panel-view-fixed{
    position:static;
  }

  .dashboard-page .panel-scroll-box{
    max-height:none;
  }
}

@media (max-width:980px){
  .dashboard-page .panel-operational-extras{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .dashboard-page .panel-brief-stats{
    grid-template-columns:1fr;
  }

  .dashboard-page .panel-brief-line{
    grid-template-columns:1fr;
    gap:3px;
  }
}


/* Compactação dos blocos analíticos do painel */
.dashboard-page .panel-scroll-box .card{
  padding:12px 14px;
}

.dashboard-page .panel-scroll-box .section-title{
  margin-bottom:10px;
  font-size:1.02rem;
}

.dashboard-page .trend-mini-chart{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(102px,1fr));
  gap:10px;
  align-items:end;
}

.dashboard-page .trend-col{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #d8e1da;
  background:linear-gradient(180deg,#fcfdfc 0%,#f2f6f3 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.82);
}

.dashboard-page .trend-col-head{
  font-weight:800;
  color:#1f3a2a;
  text-align:center;
  font-size:.93rem;
}

.dashboard-page .trend-col-plot{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:72px;
  padding:0 8px;
  border:1px solid #d8e1da;
  background:linear-gradient(180deg,#f7faf7 0%,#eef4ef 100%);
}

.dashboard-page .trend-col-bar{
  width:30px;
  min-height:8px;
  border:1px solid rgba(30,67,47,.18);
  background:linear-gradient(180deg,#d4e5d7 0%,#6d9a74 100%);
}

.dashboard-page .trend-col-bar.is-danger{
  background:linear-gradient(180deg,#f0c0c0 0%,#c75b5b 100%);
}

.dashboard-page .trend-col-bar.is-muted{
  background:linear-gradient(180deg,#e8eeea 0%,#a5b5a8 100%);
}

.dashboard-page .trend-col-meta{
  display:grid;
  gap:6px;
}

.dashboard-page .trend-chip{
  display:block;
  padding:4px 8px;
  border:1px solid #d4ddd5;
  background:#fff;
  color:#425149;
  font-size:.78rem;
  font-weight:700;
  text-align:center;
}

.dashboard-page .trend-chip.is-danger{
  color:#8d2f2f;
  border-color:#e1c2c2;
  background:#fff6f6;
}

.dashboard-page .compact-metric-list,
.dashboard-page .compact-compare-table{
  display:grid;
  gap:8px;
}

.dashboard-page .compact-metric-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 11px;
  border:1px solid #d8e1da;
  background:#fff;
}

.dashboard-page .compact-metric-main{
  min-width:0;
}

.dashboard-page .compact-metric-main strong{
  display:block;
  margin-bottom:2px;
  color:#1e3728;
  font-size:.93rem;
}

.dashboard-page .compact-metric-main span{
  display:block;
  color:#5a6861;
  font-size:.79rem;
  line-height:1.35;
}

.dashboard-page .compact-metric-value{
  min-width:74px;
  padding:6px 8px;
  border:1px solid #d4ddd5;
  background:#f5f8f5;
  text-align:center;
  font-weight:800;
  color:#1f3b2a;
  font-size:.84rem;
}

.dashboard-page .compact-compare-head,
.dashboard-page .compact-compare-row{
  display:grid;
  grid-template-columns:minmax(0,2.2fr) .62fr .62fr .72fr .8fr;
  gap:8px;
  align-items:center;
}

.dashboard-page .compact-compare-head{
  padding:0 10px 4px;
  color:#5b6962;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.dashboard-page .compact-compare-row{
  padding:9px 10px;
  border:1px solid #d8e1da;
  background:#fff;
  color:#22332b;
  font-size:.84rem;
}

.dashboard-page .compact-compare-row span{
  min-width:0;
}

.dashboard-page .compact-compare-row span:first-child{
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-page .compact-compare-row strong{
  justify-self:end;
  min-width:58px;
  padding:5px 8px;
  border:1px solid #e2c8c8;
  background:#fff6f6;
  color:#962f2f;
  text-align:center;
  font-size:.82rem;
}

.dashboard-page .compact-compare-row.is-clickable{
  cursor:pointer;
}

.dashboard-page .compact-compare-row.is-clickable:hover{
  border-color:#94aa97;
  background:#f7fbf7;
}

@media (max-width:1180px){
  .dashboard-page .compact-compare-head,
  .dashboard-page .compact-compare-row{
    grid-template-columns:minmax(0,1.8fr) .7fr .7fr .7fr .8fr;
  }
}

@media (max-width:860px){
  .dashboard-page .compact-compare-head,
  .dashboard-page .compact-compare-row{
    grid-template-columns:minmax(0,1.4fr) .7fr .7fr .8fr;
  }

  .dashboard-page .compact-compare-head span:nth-child(4),
  .dashboard-page .compact-compare-row span:nth-child(4){
    display:none;
  }
}

/* Faixa de prioridade fixa antes da visão geral operacional */
.dashboard-page .panel-priority-band{
  margin-bottom:10px;
}

.dashboard-page .priority-band-shell{
  display:grid;
  gap:8px;
  padding:10px 12px;
  border:1px solid #cfd8d1;
  background:linear-gradient(180deg,#fbfdfb 0%,#f1f6f2 100%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.82);
}

.dashboard-page .priority-band-shell.is-stable{border-color:#cfe3d4;background:linear-gradient(180deg,#f9fdf9 0%,#eef8f0 100%)}
.dashboard-page .priority-band-shell.is-warning{border-color:#ead8b1;background:linear-gradient(180deg,#fffaf0 0%,#f8f0da 100%)}
.dashboard-page .priority-band-shell.is-priority{border-color:#e0c7bd;background:linear-gradient(180deg,#fff8f5 0%,#f6e6df 100%)}
.dashboard-page .priority-band-shell.is-critical{border-color:#e1c2c2;background:linear-gradient(180deg,#fff8f8 0%,#f7e4e4 100%)}

.dashboard-page .priority-band-main{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.dashboard-page .priority-band-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  padding:6px 10px;
  border:1px solid rgba(35,54,44,.16);
  background:#fff;
  color:#21372a;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.dashboard-page .priority-band-copy strong{
  display:block;
  margin-bottom:2px;
  color:#1e3728;
  font-size:.92rem;
}

.dashboard-page .priority-band-copy span{
  display:block;
  color:#526159;
  font-size:.79rem;
  line-height:1.35;
}

.dashboard-page .priority-band-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.dashboard-page .priority-band-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  border:1px solid #d5ddd6;
  background:#fff;
  color:#435149;
  font-size:.76rem;
  font-weight:700;
}

@media (max-width: 780px){
  .dashboard-page .priority-band-main{
    grid-template-columns:1fr;
  }
}


.dashboard-page .visit-list-item__actions,
.visit-inspection-actions,
.leaflet-popup-content .territory-popup__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center;}
.visit-inline-action,.leaflet-popup-content .territory-popup__button{border:1px solid #c7d5cd;background:linear-gradient(180deg,#f8fbf9,#eef5f1);color:#17392a;border-radius:8px;padding:7px 10px;font:700 12px/1.2 Inter,Arial,sans-serif;cursor:pointer;}
.visit-inline-action:hover,.leaflet-popup-content .territory-popup__button:hover{background:linear-gradient(180deg,#ffffff,#eef5f1);}


/* =========================================================
   FRONT V3 - cabeçalho, barra lateral e filtro global
   ========================================================= */
.dashboard-layout-v3{
  background:#eef3ef;
  color:#173226;
}

.dashboard-layout-v3 .panel-shell-v3{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  min-height:100vh;
}

.dashboard-layout-v3 .app-sidebar{
  position:sticky;
  top:0;
  align-self:start;
  min-height:100vh;
  padding:14px 12px 18px;
  background:linear-gradient(180deg,#045437 0%, #01472f 100%);
  box-shadow:14px 0 32px rgba(8,36,25,.14);
  z-index:10;
}

.dashboard-layout-v3 .app-sidebar__brand-card{
  display:flex;
  align-items:center;
  gap:14px;
  background:#ffffff;
  border-radius:20px;
  padding:14px 14px;
  margin-bottom:16px;
  box-shadow:0 12px 24px rgba(8,36,25,.14);
}

.dashboard-layout-v3 .app-sidebar__brand-symbol{
  width:76px;
  height:76px;
  flex:0 0 76px;
  display:grid;
  place-items:center;
}

.dashboard-layout-v3 .app-sidebar__brand-symbol svg{
  width:74px;
  height:74px;
  display:block;
}

.dashboard-layout-v3 .app-sidebar__brand-copy{
  display:grid;
  gap:2px;
  color:#0c412d;
}

.dashboard-layout-v3 .app-sidebar__brand-copy span{
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
}

.dashboard-layout-v3 .app-sidebar__brand-copy strong{
  font-size:2.05rem;
  line-height:.95;
  font-weight:900;
  letter-spacing:.03em;
}

.dashboard-layout-v3 .app-sidebar__brand-copy small{
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.08em;
}

.dashboard-layout-v3 .app-sidebar__nav{
  display:grid;
  gap:10px;
}

.dashboard-layout-v3 .sidebar-divider{
  height:1px;
  background:rgba(255,255,255,.18);
  margin:8px 8px 10px;
}

.dashboard-layout-v3 .sidebar-tab{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:64px;
  padding:0 18px;
  border:none;
  border-radius:18px;
  background:transparent;
  color:rgba(255,255,255,.96);
  font-size:1rem;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.dashboard-layout-v3 .sidebar-tab:hover{
  background:rgba(255,255,255,.08);
}

.dashboard-layout-v3 .sidebar-tab.active{
  background:linear-gradient(180deg,#23724f,#176444);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 20px rgba(0,0,0,.16);
}

.dashboard-layout-v3 .sidebar-tab--ghost{
  opacity:.96;
}

.dashboard-layout-v3 .sidebar-tab__icon{
  display:inline-grid;
  place-items:center;
  width:22px;
  min-width:22px;
  font-size:1.35rem;
  font-weight:700;
}

.dashboard-layout-v3 .panel-main-v3{
  min-width:0;
  padding:14px 16px 22px;
}

.dashboard-layout-v3 .topbar-v3{
  display:grid;
  gap:12px;
}

.dashboard-layout-v3 .topbar-v3__title-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) minmax(640px,auto);
  gap:16px;
  align-items:start;
  padding:0;
  background:linear-gradient(180deg,#03573a,#014b32);
  border-radius:0 0 18px 18px;
  box-shadow:0 16px 28px rgba(8,36,25,.18);
  padding:14px 16px;
}

.dashboard-layout-v3 .topbar-v3__menu-btn{
  width:58px;
  height:58px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.05);
}

.dashboard-layout-v3 .topbar-v3__menu-btn span{
  display:block;
  width:26px;
  height:3px;
  border-radius:999px;
  background:#ffffff;
  margin:3px 0;
}

.dashboard-layout-v3 .topbar-v3__copy{
  padding-top:4px;
}

.dashboard-layout-v3 .topbar-v3__copy h1{
  margin:0;
  color:#ffffff;
  font-size:2rem;
  line-height:1.05;
  font-weight:900;
}

.dashboard-layout-v3 .topbar-v3__copy p{
  margin:8px 0 0;
  color:rgba(255,255,255,.78);
  font-size:1.02rem;
  max-width:620px;
}

.dashboard-layout-v3 .topbar-v3__widgets{
  display:grid;
  grid-template-columns:160px 210px 110px 220px;
  gap:12px;
}

.dashboard-layout-v3 .header-widget-v3{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:84px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.dashboard-layout-v3 .header-widget-v3--small{
  display:grid;
  align-content:center;
  gap:10px;
}

.dashboard-layout-v3 .header-widget-v3__icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:1.2rem;
  flex:0 0 42px;
}

.dashboard-layout-v3 .header-widget-v3__icon--alert{
  position:relative;
}

.dashboard-layout-v3 .header-widget-v3__copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.dashboard-layout-v3 .header-widget-v3__copy strong{
  color:#ffffff;
  font-size:1rem;
}

.dashboard-layout-v3 .header-widget-v3__copy span{
  color:rgba(255,255,255,.82);
  font-size:.94rem;
}

.dashboard-layout-v3 .header-widget-v3__line{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.dashboard-layout-v3 .header-widget-v3 .chip{
  position:static;
  min-height:36px;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  color:#ffffff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
  padding:8px 12px;
}

.dashboard-layout-v3 .panel-shell-card-v3{
  margin:0;
  border-radius:18px;
  background:#f7faf7;
  box-shadow:0 12px 28px rgba(16,41,29,.08);
  border:1px solid rgba(17,71,48,.10);
  padding:14px;
}

.dashboard-layout-v3 .panel-shell-card-v3::before{
  display:none;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:12px;
  align-items:end;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 .field{
  display:grid;
  gap:6px;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 label,
.dashboard-layout-v3 .advanced-filters-v3 summary{
  color:#234734;
  font-size:.82rem;
  font-weight:800;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 input,
.dashboard-layout-v3 .panel-filter-toolbar-v3 select{
  min-height:44px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid #d4e0d7;
  color:#173226;
  padding:0 12px;
  box-shadow:none;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 input:focus,
.dashboard-layout-v3 .panel-filter-toolbar-v3 select:focus{
  outline:none;
  border-color:#1c6c49;
  box-shadow:0 0 0 3px rgba(28,108,73,.12);
}

.dashboard-layout-v3 .field-search-v3{
  grid-column:span 2;
}

.dashboard-layout-v3 .field-more-v3{
  grid-column:span 1;
}

.dashboard-layout-v3 .field-button-v3 .btn{
  min-height:44px;
  border-radius:12px;
  font-weight:800;
}

.dashboard-layout-v3 .field-button-v3 .panel-action-refresh{
  background:#0c5b3d;
  border-color:#0c5b3d;
}

.dashboard-layout-v3 .field-button-v3 .panel-action-clear{
  background:#ffffff;
  color:#234734;
  border:1px solid #d4e0d7;
}

.dashboard-layout-v3 .advanced-filters-v3{
  align-self:end;
}

.dashboard-layout-v3 .advanced-filters-v3 summary{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid #d4e0d7;
  background:#ffffff;
  cursor:pointer;
  list-style:none;
}

.dashboard-layout-v3 .advanced-filters-v3 summary::-webkit-details-marker{
  display:none;
}

.dashboard-layout-v3 .advanced-filters-v3 summary::before{
  content:"▾";
  margin-right:8px;
  color:#0c5b3d;
  font-weight:800;
}

.dashboard-layout-v3 .advanced-filters-v3[open]{
  padding:10px;
  border-radius:14px;
  background:#eff5f1;
  border:1px solid #d4e0d7;
}

.dashboard-layout-v3 .advanced-filters-v3[open] summary{
  margin-bottom:10px;
}

.dashboard-layout-v3 .advanced-filters-v3__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.dashboard-layout-v3 .panel-workspace-v3{
  padding-top:16px;
}

.dashboard-layout-v3 .panel-view-head-v3{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:14px;
}

.dashboard-layout-v3 .section-title-v3{
  margin:0;
  letter-spacing:.03em;
  font-size:1.16rem;
}

.dashboard-layout-v3 .panel-view-note-v3{
  margin:6px 0 0;
  color:#617569;
  font-size:.92rem;
}

.dashboard-layout-v3 .panel-visits-grid-v3{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.7fr);
  gap:16px;
  align-items:start;
}

.dashboard-layout-v3 .panel-visits-table-card,
.dashboard-layout-v3 .panel-visit-inspection-card{
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(17,71,48,.10);
  box-shadow:0 14px 28px rgba(16,41,29,.08);
}

.dashboard-layout-v3 .panel-visits-table-card::before,
.dashboard-layout-v3 .panel-visit-inspection-card::before{
  height:3px;
  margin:-20px -20px 16px;
  background:linear-gradient(90deg,#175b3f,#478d6a);
}

.dashboard-layout-v3 .consolidated-visits-list{
  max-height:calc(100vh - 285px);
  overflow:auto;
  padding-right:4px;
}

.dashboard-layout-v3 .visit-list-item{
  border:1px solid #d8e3db;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 8px 18px rgba(16,41,29,.05);
}

.dashboard-layout-v3 .visit-list-item.is-active-row{
  border-color:#1c6c49;
  background:#f5fbf7;
  box-shadow:0 12px 22px rgba(16,41,29,.08);
}

.dashboard-layout-v3 .visit-list-item__head strong,
.dashboard-layout-v3 .visit-list-item__address{
  color:#193527;
}

.dashboard-layout-v3 .visit-list-item__head span,
.dashboard-layout-v3 .visit-list-item__meta,
.dashboard-layout-v3 .visit-list-item__status span{
  color:#617569;
}

.dashboard-layout-v3 .panel-visit-inspection-card{
  position:sticky;
  top:16px;
}

.dashboard-layout-v3 #visitInspectionPanel{
  background:#f8fbf8;
  border-radius:14px;
  border:1px solid #dde8df;
  padding:12px;
}

.dashboard-layout-v3 #visitInspectionPanel:empty{
  display:none;
}

.dashboard-layout-v3 #panelStatus{
  position:static;
  width:auto;
  margin-top:10px;
  border-radius:12px;
  box-shadow:none;
}

@media (max-width:1480px){
  .dashboard-layout-v3 .topbar-v3__title-row{
    grid-template-columns:58px minmax(0,1fr);
  }
.dashboard-layout-v3 .panel-filter-toolbar-v3{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .dashboard-layout-v3 .field-search-v3{
    grid-column:span 2;
  }
}

@media (max-width:1120px){
.dashboard-layout-v3 .app-sidebar{
    position:relative;
    min-height:auto;
  }

  .dashboard-layout-v3 .panel-visits-grid-v3{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .panel-visit-inspection-card{
    position:relative;
    top:auto;
  }
}

@media (max-width:820px){
  .dashboard-layout-v3 .panel-main-v3{
    padding:10px 10px 18px;
  }

  .dashboard-layout-v3 .topbar-v3__title-row{
    padding:12px;
  }

  .dashboard-layout-v3 .topbar-v3__copy h1{
    font-size:1.45rem;
  }

  .dashboard-layout-v3 .topbar-v3__widgets,
  .dashboard-layout-v3 .panel-filter-toolbar-v3,
  .dashboard-layout-v3 .advanced-filters-v3__grid{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .field-search-v3{
    grid-column:auto;
  }
}



/* =========================================================
   FRONT V3.1 - ajuste fino de escala
   ========================================================= */
.dashboard-layout-v3 .panel-shell-v3{
  grid-template-columns:210px minmax(0,1fr);
}

.dashboard-layout-v3 .app-sidebar{
  padding:10px 8px 14px;
}

.dashboard-layout-v3 .app-sidebar__brand-card{
  gap:10px;
  border-radius:16px;
  padding:10px 10px;
  margin-bottom:10px;
}

.dashboard-layout-v3 .app-sidebar__brand-symbol{
  width:58px;
  height:58px;
  flex:0 0 58px;
}

.dashboard-layout-v3 .app-sidebar__brand-symbol svg{
  width:56px;
  height:56px;
}

.dashboard-layout-v3 .app-sidebar__brand-copy span{
  font-size:.63rem;
  letter-spacing:.11em;
}

.dashboard-layout-v3 .app-sidebar__brand-copy strong{
  font-size:1.48rem;
}

.dashboard-layout-v3 .app-sidebar__brand-copy small{
  font-size:.88rem;
}

.dashboard-layout-v3 .app-sidebar__nav{
  gap:6px;
}

.dashboard-layout-v3 .sidebar-tab{
  min-height:48px;
  padding:0 13px;
  border-radius:14px;
  gap:10px;
  font-size:.84rem;
}

.dashboard-layout-v3 .sidebar-tab__icon{
  width:16px;
  min-width:16px;
  font-size:1rem;
}

.dashboard-layout-v3 .panel-main-v3{
  padding:10px 12px 18px;
}

.dashboard-layout-v3 .topbar-v3{
  gap:8px;
}

.dashboard-layout-v3 .topbar-v3__title-row{
  grid-template-columns:46px minmax(280px,.82fr) minmax(790px,1.18fr);
  gap:10px;
  padding:10px 14px;
  border-radius:0 0 16px 16px;
}

.dashboard-layout-v3 .topbar-v3__menu-btn{
  width:46px;
  height:46px;
  border-radius:13px;
}

.dashboard-layout-v3 .topbar-v3__menu-btn span{
  width:21px;
  height:2.5px;
  margin:2px 0;
}

.dashboard-layout-v3 .topbar-v3__copy{
  padding-top:1px;
}

.dashboard-layout-v3 .topbar-v3__copy h1{
  font-size:1.32rem;
  line-height:1.03;
}

.dashboard-layout-v3 .topbar-v3__copy p{
  margin:5px 0 0;
  font-size:.76rem;
  max-width:520px;
  line-height:1.28;
}

.dashboard-layout-v3 .topbar-v3__widgets{
  grid-template-columns:132px 185px 170px 185px;
  gap:10px;
}

.dashboard-layout-v3 .header-widget-v3{
  min-height:60px;
  padding:8px 12px;
  border-radius:14px;
  gap:9px;
}

.dashboard-layout-v3 .header-widget-v3--small{
  gap:6px;
}

.dashboard-layout-v3 .header-widget-v3__icon{
  width:30px;
  height:30px;
  border-radius:10px;
  font-size:.9rem;
  flex:0 0 30px;
}

.dashboard-layout-v3 .header-widget-v3__copy{
  gap:1px;
}

.dashboard-layout-v3 .header-widget-v3__copy strong{
  font-size:.76rem;
  line-height:1.15;
}

.dashboard-layout-v3 .header-widget-v3__copy span{
  font-size:.68rem;
  line-height:1.14;
}

.dashboard-layout-v3 .header-widget-v3 .chip{
  min-height:26px;
  border-radius:10px;
  padding:4px 9px;
  font-size:.68rem;
  font-weight:800;
}

.dashboard-layout-v3 .panel-shell-card-v3{
  border-radius:16px;
  padding:10px;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:8px;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 .field{
  gap:4px;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 label{
  font-size:.72rem;
  line-height:1.1;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 input,
.dashboard-layout-v3 .panel-filter-toolbar-v3 select{
  min-height:36px;
  border-radius:10px;
  padding:0 10px;
  font-size:.82rem;
}

.dashboard-layout-v3 .field-button-v3 .btn{
  min-height:36px;
  border-radius:10px;
  font-size:.82rem;
}
.dashboard-layout-v3 .panel-view-head-v3{
  margin-bottom:8px;
}

.dashboard-layout-v3 .section-title-v3{
  font-size:1.02rem;
}

.dashboard-layout-v3 .panel-view-note-v3{
  margin:4px 0 0;
  font-size:.8rem;
}

.dashboard-layout-v3 .consolidated-visits-list{
  max-height:calc(100vh - 240px);
}

@media (max-width:1480px){
  .dashboard-layout-v3 .topbar-v3__title-row{
    grid-template-columns:46px minmax(0,1fr);
  }
}

@media (max-width:1120px){
}


/* =========================================================
   FRONT V3.2 - aproximação do modelo enviado
   ========================================================= */
.dashboard-layout-v3 .panel-shell-v3{
  grid-template-columns:220px minmax(0,1fr);
}

.dashboard-layout-v3 .app-sidebar{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100vh;
  padding:0;
  background:linear-gradient(180deg,#014f35 0%, #003f2b 100%);
}

.dashboard-layout-v3 .app-sidebar__brand-card{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:24px 18px 18px;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.dashboard-layout-v3 .app-sidebar__brand-symbol{
  width:64px;
  height:64px;
  flex:0 0 64px;
}

.dashboard-layout-v3 .app-sidebar__brand-symbol svg{
  width:60px;
  height:60px;
}

.dashboard-layout-v3 .app-sidebar__brand-copy{
  gap:2px;
  color:#fff;
}

.dashboard-layout-v3 .app-sidebar__brand-copy span{
  font-size:.74rem;
  font-weight:700;
  letter-spacing:0;
  color:#fff;
}

.dashboard-layout-v3 .app-sidebar__brand-copy strong{
  font-size:.94rem;
  font-weight:800;
  line-height:1.2;
  color:#fff;
}

.dashboard-layout-v3 .app-sidebar__nav{
  gap:4px;
  padding:8px 14px 0;
}

.dashboard-layout-v3 .sidebar-tab{
  min-height:46px;
  gap:10px;
  padding:0 12px;
  border-radius:10px;
  font-size:.76rem;
  line-height:1.2;
  font-weight:700;
}

.dashboard-layout-v3 .sidebar-tab.active{
  background:rgba(126,190,145,.18);
  border:1px solid rgba(155,219,173,.18);
  box-shadow:none;
}

.dashboard-layout-v3 .sidebar-tab__icon{
  width:18px;
  min-width:18px;
  font-size:.96rem;
}

.dashboard-layout-v3 .sidebar-divider{
  margin:10px 6px;
  background:rgba(255,255,255,.16);
}

.dashboard-layout-v3 .app-sidebar__footer{
  margin-top:auto;
  padding:14px;
}

.dashboard-layout-v3 .sidebar-status-card{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(132,207,155,.22);
  background:rgba(0,0,0,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.dashboard-layout-v3 .sidebar-status-card__row{
  display:flex;
  align-items:center;
  gap:8px;
}

.dashboard-layout-v3 .sidebar-status-card__row--head strong{
  color:#c0f1c8;
  font-size:.84rem;
}

.dashboard-layout-v3 .sidebar-status-card__row--meta{
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}

.dashboard-layout-v3 .sidebar-status-card__row--meta span{
  color:rgba(255,255,255,.68);
  font-size:.72rem;
}

.dashboard-layout-v3 .sidebar-status-card__row--meta strong{
  color:#fff;
  font-size:.86rem;
}

.dashboard-layout-v3 .sidebar-status-card__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#77da8f;
  box-shadow:0 0 0 4px rgba(119,218,143,.14);
}

.dashboard-layout-v3 #panelStatus.sync-banner{
  position:static;
  width:auto;
  margin:0;
  padding:8px 10px;
  min-height:auto;
  border-radius:10px;
  font-size:.74rem;
  box-shadow:none;
}

.dashboard-layout-v3 .panel-main-v3{
  padding:0 18px 18px;
}

.dashboard-layout-v3 .topbar-v3{
  gap:16px;
}

.dashboard-layout-v3 .topbar-v3__title-row{
  display:grid;
  grid-template-columns:38px minmax(250px,.58fr) minmax(690px,1fr);
  gap:18px;
  align-items:center;
  padding:20px 18px 16px;
  border-radius:0 0 0 0;
  background:linear-gradient(180deg,#02563a 0%, #014d34 100%);
  box-shadow:none;
}

.dashboard-layout-v3 .topbar-v3__menu-btn{
  width:38px;
  height:38px;
  border-radius:10px;
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
}

.dashboard-layout-v3 .topbar-v3__menu-btn span{
  width:17px;
  height:2px;
  margin:2px 0;
}

.dashboard-layout-v3 .topbar-v3__copy h1{
  font-size:1.08rem;
  font-weight:800;
}

.dashboard-layout-v3 .topbar-v3__copy p{
  margin-top:4px;
  font-size:.67rem;
  line-height:1.25;
  max-width:none;
}

.dashboard-layout-v3 .topbar-v3__widgets{
  display:grid;
  grid-template-columns:148px 184px 78px 198px;
  gap:12px;
  justify-content:end;
}

.dashboard-layout-v3 .header-widget-v3{
  min-height:54px;
  padding:10px 12px;
  border-radius:14px;
  background:transparent;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:none;
  gap:10px;
}

.dashboard-layout-v3 .header-widget-v3__icon{
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  font-size:.76rem;
}

.dashboard-layout-v3 .header-widget-v3__copy strong,
.dashboard-layout-v3 .header-widget-v3__copy span{
  color:#fff;
}

.dashboard-layout-v3 .header-widget-v3__copy strong{
  font-size:.78rem;
  font-weight:700;
}

.dashboard-layout-v3 .header-widget-v3__copy span{
  font-size:.65rem;
  opacity:.88;
}

.dashboard-layout-v3 .header-widget-v3 .chip-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:auto;
  padding:0;
  background:none;
  border:none;
  color:#fff;
  font-size:.78rem;
  box-shadow:none;
}

.dashboard-layout-v3 .header-widget-v3--alert .header-widget-v3__copy strong{
  font-size:.9rem;
}

.dashboard-layout-v3 .panel-shell-card-v3{
  padding:18px 18px 16px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dde5df;
  box-shadow:0 3px 16px rgba(12,40,27,.05);
}

.dashboard-layout-v3 .panel-filter-toolbar-v3{
  display:grid;
  grid-template-columns:repeat(11,minmax(0,1fr));
  gap:14px 14px;
  align-items:end;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 .field{
  gap:6px;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 label{
  font-size:.7rem;
  color:#203a2e;
  font-weight:700;
}

.dashboard-layout-v3 .panel-filter-toolbar-v3 input,
.dashboard-layout-v3 .panel-filter-toolbar-v3 select{
  min-height:38px;
  border-radius:8px;
  padding:0 11px;
  background:#fff;
  border:1px solid #d7dfda;
  font-size:.78rem;
}

.dashboard-layout-v3 .field-search-v3--wide{
  grid-column:span 2;
}

.dashboard-layout-v3 .panel-filter-actions-v5{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  padding-top:16px;
}

.dashboard-layout-v3 .panel-filter-actions-v5 .btn{
  min-width:132px;
  min-height:40px;
  border-radius:8px;
  font-size:.78rem;
  font-weight:700;
}

.dashboard-layout-v3 .panel-filter-actions-v5 .panel-action-refresh{
  background:#015d3f;
  border-color:#015d3f;
}

.dashboard-layout-v3 .panel-filter-actions-v5 .panel-action-clear{
  background:#fff;
  color:#21382d;
  border:1px solid #d7dfda;
}

.dashboard-layout-v3 .panel-workspace-v3{
  padding-top:14px;
}

@media (max-width:1480px){
  .dashboard-layout-v3 .topbar-v3__title-row{
    grid-template-columns:38px minmax(0,1fr);
  }

  .dashboard-layout-v3 .topbar-v3__widgets{
    grid-column:1 / -1;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }

  .dashboard-layout-v3 .field-search-v3--wide{
    grid-column:span 2;
  }
}

@media (max-width:1120px){
  .dashboard-layout-v3 .panel-shell-v3{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .app-sidebar{
    min-height:auto;
  }

  .dashboard-layout-v3 .topbar-v3__title-row,
  .dashboard-layout-v3 .topbar-v3__widgets,
  .dashboard-layout-v3 .panel-filter-toolbar-v3{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .field-search-v3--wide{
    grid-column:auto;
  }

  .dashboard-layout-v3 .panel-filter-actions-v5{
    justify-content:stretch;
  }

  .dashboard-layout-v3 .panel-filter-actions-v5 .btn{
    flex:1 1 auto;
  }
}


/* =========================================================
   FRONT V3.3 - busca geral com ações ao lado
   ========================================================= */
.dashboard-layout-v3 .field-search-v3--wide{
  grid-column:span 7;
}

.dashboard-layout-v3 .field-button-v6{
  grid-column:span 2;
  display:grid;
  gap:6px;
  align-self:end;
}

.dashboard-layout-v3 .field-button-v6 .label-spacer{
  visibility:hidden;
  font-size:.7rem;
  line-height:1;
}

.dashboard-layout-v3 .field-button-v6 .btn{
  width:100%;
  min-width:0;
  min-height:36px;
  border-radius:8px;
  font-size:.74rem;
  font-weight:700;
  padding:0 14px;
}

.dashboard-layout-v3 .field-button-v6--apply .btn{
  background:#015d3f;
  border-color:#015d3f;
}

.dashboard-layout-v3 .field-button-v6--clear .btn{
  background:#fff;
  color:#21382d;
  border:1px solid #d7dfda;
}

.dashboard-layout-v3 .field-button-v6--cloud{
  grid-column:span 2;
}

.dashboard-layout-v3 .field-button-v6--cloud .ace-panel-action-slot{
  width:100%;
}

.dashboard-layout-v3 .field-button-v6--cloud .ace-panel-refresh-cloud-btn{
  width:100%;
}

.dashboard-layout-v3 .panel-filter-actions-v5{
  display:none;
}

@media (max-width:1480px){
  .dashboard-layout-v3 .field-search-v3--wide{
    grid-column:span 3;
  }
  .dashboard-layout-v3 .field-button-v6{
    grid-column:span 1;
  }
}

@media (max-width:1120px){
  .dashboard-layout-v3 .field-search-v3--wide,
  .dashboard-layout-v3 .field-button-v6{
    grid-column:auto;
  }
}


/* =========================================================
   FRONT V3.4 - conteúdo operacional no centro da aba Visitas
   ========================================================= */
.dashboard-layout-v3 .panel-placeholder-card{
  padding:18px;
  border-radius:14px;
  background:#fff;
}

.dashboard-layout-v3 [data-panel-view-content="visits"].panel-view-split{
  align-items:start;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-view-fixed{
  position:sticky;
  top:0;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-fixed-card,
.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-scroll-box > .panel-scroll-box-inner > .card,
.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-operational-grid > .card{
  border-radius:14px;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-fixed-card::before,
.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-operational-grid > .card::before{
  height:3px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-fixed-card .section-title,
.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-operational-grid .section-title{
  letter-spacing:.02em;
  font-size:.94rem;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-scroll-box{
  padding-right:0;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-scroll-box-inner{
  display:grid;
  gap:12px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-operational-grid{
  gap:12px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .ranking-list,
.dashboard-layout-v3 [data-panel-view-content="visits"] .chart-list,
.dashboard-layout-v3 [data-panel-view-content="visits"] .insight-list{
  min-height:160px;
}


/* =========================================================
   FRONT V3.4 - mapa com área ampliada
   ========================================================= */
.dashboard-layout-v3 .panel-view--map-compact{
  gap:8px;
}

.dashboard-layout-v3 .panel-view--map-compact .panel-map-card{
  gap:10px;
  padding:14px;
}

.dashboard-layout-v3 .panel-map-card--expanded{
  min-height:calc(100vh - 180px);
}

.dashboard-layout-v3 .panel-map-card--expanded .map-toggle-row{
  margin:0;
  padding:0;
}

.dashboard-layout-v3 .panel-map-card--expanded .map-shell,
.dashboard-layout-v3 .panel-view--map-compact #heatMap{
  min-height:720px;
  height:calc(100vh - 220px);
  max-height:none;
  border-radius:14px;
}

@media (max-width: 1366px){
  .dashboard-layout-v3 .panel-map-card--expanded .map-shell,
  .dashboard-layout-v3 .panel-view--map-compact #heatMap{
    min-height:650px;
    height:calc(100vh - 210px);
  }
}

@media (max-width: 1120px){
  .dashboard-layout-v3 .panel-map-card--expanded{
    min-height:auto;
  }

  .dashboard-layout-v3 .panel-map-card--expanded .map-shell,
  .dashboard-layout-v3 .panel-view--map-compact #heatMap{
    min-height:520px;
    height:65vh;
  }
}


/* =========================================================
   FRONT V3.5 - refinamento da aba Relatórios
   ========================================================= */
.dashboard-layout-v3 [data-panel-view-content="reports"].panel-view-split{
  display:none;
  gap:14px;
}

.dashboard-layout-v3 [data-panel-view-content="reports"].panel-view-split.is-active{
  display:grid;
}

.dashboard-layout-v3 [data-panel-view-content="reports"] .panel-view-fixed{
  position:static;
  top:auto;
}

.dashboard-layout-v3 .panel-report-actions-fixed{
  padding:16px 16px 14px;
  border-radius:14px;
  border:1px solid #d9e2dc;
  background:#ffffff;
  box-shadow:0 3px 16px rgba(12,40,27,.05);
}

.dashboard-layout-v3 .panel-report-actions-fixed .section-title{
  margin:0 0 12px;
  text-align:center;
  color:#234031;
  font-size:1.02rem;
}

.dashboard-layout-v3 .panel-report-actions-fixed .panel-report-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.dashboard-layout-v3 .panel-report-actions-fixed .btn-row{
  margin-top:0;
}

.dashboard-layout-v3 .panel-report-actions-fixed .btn{
  min-height:44px;
  border-radius:10px;
  border:1px solid #c8d5cd;
  background:linear-gradient(180deg,#ffffff 0%,#f3f7f4 100%);
  color:#234031;
  font-size:.84rem;
  font-weight:700;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease, transform .16s ease;
}

.dashboard-layout-v3 .panel-report-actions-fixed .btn:hover{
  border-color:#9fb8a8;
  box-shadow:0 6px 14px rgba(12,40,27,.08);
  transform:translateY(-1px);
}

.dashboard-layout-v3 .panel-report-actions-fixed .btn.is-active,
.dashboard-layout-v3 .panel-report-actions-fixed .btn:active{
  background:linear-gradient(180deg,#0d6a46 0%, #075637 100%);
  border-color:#075637;
  color:#ffffff;
  box-shadow:0 8px 16px rgba(7,86,55,.22);
}

.dashboard-layout-v3 .panel-scroll-box-report{
  max-height:none;
  min-height:0;
}

.dashboard-layout-v3 .panel-report-screen-card{
  border-radius:14px;
}

.dashboard-layout-v3 .panel-report-screen-card .section-title,
.dashboard-layout-v3 .panel-strategy-card .section-title,
.dashboard-layout-v3 .panel-mini-title{
  color:#234031;
}

.dashboard-layout-v3 .panel-report-analysis-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

@media (max-width:1120px){
  .dashboard-layout-v3 .panel-report-actions-fixed .panel-report-actions,
  .dashboard-layout-v3 .panel-report-analysis-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   FRONT V3.6 - indicadores e visitas com dados da base antiga
   ========================================================= */
.dashboard-layout-v3 [data-panel-view-content="indicators"].panel-view-split{
  align-items:start;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-view-fixed{
  position:sticky;
  top:0;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-fixed-card,
.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-scroll-box > .panel-scroll-box-inner > .card,
.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid > .card{
  border-radius:14px;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-fixed-card::before,
.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid > .card::before{
  height:3px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"].panel-view-split{
  display:none;
}

.dashboard-layout-v3 [data-panel-view-content="visits"].panel-view-split.is-active{
  display:block;
}

.dashboard-layout-v3 .panel-visits-table-card--full{
  border-radius:14px;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 .panel-visits-table-card--full::before{
  height:3px;
}

.dashboard-layout-v3 .consolidated-visits-list--tall{
  max-height:calc(100vh - 255px);
  min-height:540px;
  overflow:auto;
}


/* =========================================================
   FRONT V3.7 - acabamento do miolo (Indicadores e Visitas)
   ========================================================= */
.dashboard-layout-v3 .panel-workspace-v3{
  padding-top:10px;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"].panel-view-split{
  gap:14px;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-view-fixed{
  position:static;
  top:auto;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-fixed-card{
  padding:12px 16px 16px;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-fixed-card .section-title,
.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid > .card > .section-title{
  text-align:center;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-scroll-box,
.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-scroll-box-inner{
  overflow:visible;
  max-height:none;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid{
  gap:12px;
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid-4{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid > .card,
.dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-fixed-card,
.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-visits-table-card--full{
  border:1px solid #d9e2dc;
  background:#ffffff;
}

.dashboard-layout-v3 [data-panel-view-content="visits"].panel-view-split{
  gap:12px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-visits-table-card--full{
  padding:14px 16px 16px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .panel-visits-table-card--full > .section-title{
  text-align:center;
  margin-bottom:12px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .consolidated-visits-list--tall{
  max-height:none;
  min-height:540px;
  padding-right:6px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .visit-list-item{
  border-radius:10px;
  padding:14px;
}

.dashboard-layout-v3 [data-panel-view-content="visits"] .visit-list-item__address{
  font-size:1.02rem;
}

@media (max-width:1120px){
  .dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid-2,
  .dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-operational-grid-4{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   FRONT V3.8 - suporte funcional para dados da planilha
   ========================================================= */
.dashboard-layout-v3 .panel-visit-inspection-card--ghost[hidden],
.dashboard-layout-v3 .panel-map-summary-helper[hidden]{
  display:none;
}


/* =========================================================
   FRONT V3.8 - mapa funcional no layout novo
   ========================================================= */
.dashboard-layout-v3 .panel-view--map-compact{
  gap:10px;
}

.dashboard-layout-v3 .panel-view--map-compact.is-active{
  display:grid;
}

.dashboard-layout-v3 .panel-map-card--expanded{
  padding:12px 12px 14px;
  border-radius:14px;
  border:1px solid #d9e2dc;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 .panel-map-card--expanded::before{
  height:3px;
}

.dashboard-layout-v3 .panel-map-summary-inline{
  margin:0 0 8px;
  color:#5f7267;
  font-size:.78rem;
}

.dashboard-layout-v3 .panel-map-card--expanded .map-toggle-row{
  margin:0 0 10px;
}

.dashboard-layout-v3 .panel-map-card--expanded .map-shell,
.dashboard-layout-v3 .panel-view--map-compact #heatMap{
  min-height:700px;
  height:calc(100vh - 235px);
  max-height:none;
  border-radius:12px;
  overflow:hidden;
}

@media (max-width: 1366px){
  .dashboard-layout-v3 .panel-map-card--expanded .map-shell,
  .dashboard-layout-v3 .panel-view--map-compact #heatMap{
    min-height:620px;
    height:calc(100vh - 225px);
  }
}

@media (max-width: 1120px){
  .dashboard-layout-v3 .panel-map-card--expanded .map-shell,
  .dashboard-layout-v3 .panel-view--map-compact #heatMap{
    min-height:480px;
    height:65vh;
  }
}


/* =========================================================
   FRONT V3.9 - mapa com estrutura original funcional
   ========================================================= */
.dashboard-layout-v3 [data-panel-view-content="map"].panel-view{
  display:none;
  gap:10px;
}

.dashboard-layout-v3 [data-panel-view-content="map"].panel-view.is-active{
  display:grid;
}

.dashboard-layout-v3 [data-panel-view-content="map"] .panel-screen-head{
  display:none;
}

.dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card{
  gap:10px;
  padding:12px 12px 14px;
  border-radius:14px;
  border:1px solid #d9e2dc;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card::before{
  height:3px;
}

.dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card > .section-title{
  display:none;
}

.dashboard-layout-v3 [data-panel-view-content="map"] #territoryMapSummary{
  margin:0 0 6px;
  font-size:.78rem;
  color:#5f7267;
}

.dashboard-layout-v3 [data-panel-view-content="map"] .map-toggle-row{
  margin:0 0 10px;
}

.dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card .map-shell,
.dashboard-layout-v3 [data-panel-view-content="map"] #heatMap{
  min-height:700px;
  height:calc(100vh - 235px);
  max-height:none;
  border-radius:12px;
  overflow:hidden;
}

@media (max-width: 1366px){
  .dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card .map-shell,
  .dashboard-layout-v3 [data-panel-view-content="map"] #heatMap{
    min-height:620px;
    height:calc(100vh - 225px);
  }
}

@media (max-width: 1120px){
  .dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card .map-shell,
  .dashboard-layout-v3 [data-panel-view-content="map"] #heatMap{
    min-height:480px;
    height:65vh;
  }
}


/* =========================================================
   FRONT V.24 - microajustes visuais
   ========================================================= */
.dashboard-layout-v3 .topbar-v3__title-row{
  position:sticky;
  top:0;
  z-index:40;
}

.dashboard-layout-v3 .topbar-v3__widgets{
  grid-template-columns:168px 184px 78px 198px;
}

.dashboard-layout-v3 .header-widget-v3--sync{
  min-width:168px;
}

.dashboard-layout-v3 .app-sidebar__nav,
.dashboard-layout-v3 .sidebar-tab,
.dashboard-layout-v3 .sidebar-tab span{
  font-family:"Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.dashboard-layout-v3 .sidebar-tab{
  font-weight:600;
  letter-spacing:0;
}

.dashboard-layout-v3 .sidebar-tab__icon{
  font-weight:500;
}

.dashboard-layout-v3 .panel-report-actions-fixed .section-title{
  font-size:.88rem;
  letter-spacing:.01em;
}

.dashboard-layout-v3 #panelStatus.sync-banner{
  font-size:.7rem;
}


/* =========================================================
   FRONT V.29 - diagramação do relatório em tela
   ========================================================= */
.dashboard-layout-v3 .panel-report-screen-card .report-story.executive-report{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  box-shadow:none;
  gap:14px;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-report > h3{
  margin:0;
  padding:14px 16px;
  border:1px solid #d9e2dc;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
  color:#1e3c2f;
  font-size:1rem;
  font-weight:800;
}
.dashboard-layout-v3 .panel-report-screen-card .report-context{
  padding:12px 14px;
  border:1px solid #d9e2dc;
  border-radius:12px;
  background:#f7fbf8;
  color:#53665a;
  font-size:.8rem;
  line-height:1.55;
}
.dashboard-layout-v3 .panel-report-screen-card .report-alert{
  grid-template-columns:minmax(170px,.34fr) minmax(0,1fr);
  gap:12px;
  padding:12px 14px;
  border:1px solid #d9e2dc;
  border-left:5px solid #6f8a7c;
  border-radius:12px;
  background:#ffffff;
  box-shadow:0 3px 14px rgba(12,40,27,.04);
}
.dashboard-layout-v3 .panel-report-screen-card .report-alert strong{
  font-size:.93rem;
  color:#1e3c2f;
}
.dashboard-layout-v3 .panel-report-screen-card .report-alert span{
  font-size:.84rem;
  color:#54675d;
  line-height:1.55;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section{
  padding:0;
  border:1px solid #d9e2dc;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 3px 14px rgba(12,40,27,.04);
  overflow:hidden;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section__head{
  padding:12px 14px 10px;
  border-bottom:1px solid #edf2ee;
  background:#fbfdfb;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section h4{
  margin:0;
  color:#1e3c2f;
  font-size:.94rem;
  font-weight:800;
  letter-spacing:.01em;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section__body{
  padding:12px 14px 14px;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section p{
  margin:0 0 10px;
  text-align:left;
  color:#52645a;
  font-size:.84rem;
  line-height:1.68;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section p:last-child{
  margin-bottom:0;
}
.dashboard-layout-v3 .panel-report-screen-card .executive-section strong{
  color:#1e3c2f;
}
.dashboard-layout-v3 .panel-report-screen-card .direct-note{
  margin-top:14px;
  border-radius:14px;
  background:#fffaf0;
  border:1px solid rgba(184,131,24,.18);
  box-shadow:0 3px 14px rgba(12,40,27,.04);
}
.dashboard-layout-v3 .panel-report-screen-card .direct-note strong{
  color:#75540f;
  font-size:.9rem;
}
.dashboard-layout-v3 .panel-report-screen-card .direct-note p{
  color:#685a34;
  font-size:.84rem;
  line-height:1.64;
}
.dashboard-layout-v3 .panel-report-screen-card .insight-list{
  gap:10px;
}
.dashboard-layout-v3 .panel-report-screen-card .insight-list .insight-card{
  margin-bottom:10px;
  padding:12px 14px;
  border:1px solid #d9e2dc;
  border-radius:12px;
  background:#ffffff;
  box-shadow:0 3px 14px rgba(12,40,27,.04);
}
.dashboard-layout-v3 .panel-report-screen-card .insight-list .insight-card strong{
  margin-bottom:4px;
  color:#1e3c2f;
  font-size:.9rem;
}
.dashboard-layout-v3 .panel-report-screen-card .insight-list .insight-card .insight-text,
.dashboard-layout-v3 .panel-report-screen-card .insight-list .insight-card span,
.dashboard-layout-v3 .panel-report-screen-card .insight-list .insight-card p{
  color:#53665a;
  font-size:.82rem;
  line-height:1.6;
}


/* =========================================================
   FRONT V.30 - suporte e acesso rápido às configurações
   ========================================================= */
.dashboard-layout-v3 .topbar-v3__widgets{
  grid-template-columns:168px 184px 198px;
}

.floating-support-modal[hidden]{
  display:none;
}

body.is-support-modal-open{
  overflow:hidden;
}

.floating-support-modal{
  position:fixed;
  inset:0;
  z-index:1200;
}

.floating-support-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,31,22,.36);
  backdrop-filter:blur(2px);
}

.floating-support-modal__dialog{
  position:relative;
  width:min(420px, calc(100vw - 32px));
  margin:12vh auto 0;
  border-radius:18px;
  background:#ffffff;
  border:1px solid #dbe4de;
  box-shadow:0 18px 44px rgba(11,41,29,.20);
}

.floating-support-modal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border:none;
  border-radius:10px;
  background:#f2f6f3;
  color:#234031;
  cursor:pointer;
  font-size:1rem;
}

.floating-support-modal__body{
  padding:22px 22px 20px;
}

.floating-support-modal__eyebrow{
  display:inline-block;
  margin-bottom:8px;
  color:#0f5b3e;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.floating-support-modal__body h3{
  margin:0 0 10px;
  color:#1e3c2f;
  font-size:1.08rem;
}

.floating-support-modal__body p{
  margin:0 0 14px;
  color:#5a6e62;
  line-height:1.55;
}

.floating-support-modal__phone{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  background:#f7fbf8;
  border:1px solid #d9e2dc;
  color:#0f5b3e;
  font-weight:800;
  letter-spacing:.02em;
}


/* =========================================================
   INDEX V.33 - Imóveis focado em cadastro e busca na visita
   ========================================================= */
.field-page .properties-screen{
  display:block;
}

.field-page .properties-screen .property-form-card--solo{
  max-width:1080px;
  margin:0 auto;
  padding:22px 22px 18px;
  border-top:3px solid #2f7a52;
}

.field-page .property-form-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.field-page .property-form-head .section-title{
  margin-bottom:6px;
}

.field-page .properties-screen .property-form-grid{
  gap:14px 12px;
}
.field-page .properties-screen input,
.field-page .properties-screen select,
.field-page .properties-screen textarea{
  min-height:54px;
  border-radius:12px;
  border:1px solid #ccd7d0;
  background:#fff;
  font-size:1.02rem;
}

.field-page .properties-screen textarea{
  min-height:116px;
}

.field-page .properties-screen .field label{
  margin-bottom:8px;
  color:#3f4c46;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.field-page .properties-screen .field-help{
  margin-top:8px;
  color:#66756f;
  font-size:.84rem;
}

.field-page .property-form-actions{
  justify-content:space-between;
  gap:12px;
}

.field-page .property-form-actions .btn{
  flex:1 1 0;
  min-height:52px;
  border-radius:12px;
  font-size:1rem;
  font-weight:800;
}

.field-page .visit-screen .visit-property-card{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}

.field-page .visit-screen .visit-step-intro{
  margin:-4px 0 14px;
  color:#5c6d66;
  font-size:.95rem;
  line-height:1.5;
}

.field-page .visit-screen .visit-property-browser-card{
  margin-bottom:16px;
  border:1px solid #dce6df;
  background:#fbfcfb;
}

.field-page .visit-screen .visit-property-browser-card .section-title--compact{
  margin-bottom:14px;
  font-size:1rem;
}

.field-page .visit-screen .property-query-grid{
  gap:14px;
}

.field-page .visit-screen .property-query-actions{
  justify-content:flex-start;
  gap:10px;
}

.field-page .visit-screen .property-query-actions .btn{
  min-height:46px;
  border-radius:12px;
}

.field-page .visit-screen .property-list{
  min-height:260px;
  max-height:58vh;
}

@media (max-width: 860px){
  .field-page .property-form-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .field-page .properties-screen .property-form-card--solo{
    padding:18px 16px 16px;
  }

  .field-page .property-form-actions{
    flex-direction:column;
  }

  .field-page .property-form-actions .btn,
  .field-page .visit-screen .property-query-actions .btn{
    width:100%;
  }

  .field-page .visit-screen .property-query-actions{
    flex-direction:column;
  }
}


/* =========================================================
   INDEX V.36 - garante cadastro só em Imóveis
   ========================================================= */
.field-page main > .screen{
  display:none;
}

.field-page main > .screen.active{
  display:block;
}

.field-page #screen-painel .property-form-card,
.field-page #screen-painel .property-form-card--solo,
.field-page #screen-painel .property-form-head,
.field-page #screen-painel .property-form-grid,
.field-page #screen-painel .property-form-actions{
  display:none;
}


/* =========================================================
   INDEX V.38 - refinamento profissional da aba Imóveis
   Base real: v.36
   ========================================================= */
.field-page .properties-screen .property-form-card--solo{
  max-width:1120px;
  padding:24px 24px 22px;
  border-top:4px solid #255f41;
  border-radius:22px;
  box-shadow:0 8px 26px rgba(17,42,30,.06);
}

.field-page .property-form-head--refined{
  align-items:center;
  gap:18px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #e6ece8;
}

.field-page .property-form-title-wrap{
  min-width:0;
}

.field-page .property-form-head--refined .section-title{
  margin:0 0 4px;
  color:#1f2d2a;
  font-size:2rem;
  font-weight:800;
  letter-spacing:-0.02em;
}

.field-page .property-form-section{
  margin-top:14px;
  padding:16px 14px 14px;
  border:1px solid #e4ebe7;
  border-radius:18px;
  background:#fcfdfc;
}

.field-page .property-form-section__heading{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.field-page .property-form-section__heading h3{
  margin:0;
  color:#175637;
  font-size:1.14rem;
  font-weight:800;
  letter-spacing:-0.01em;
}

.field-page .properties-screen .property-form-grid{
  gap:14px 16px;
}

.field-page .properties-screen .property-form-grid--top,
.field-page .properties-screen .property-form-grid--obs{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.field-page .properties-screen .property-form-grid--address,
.field-page .properties-screen .property-form-grid--territory-top{
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.field-page .properties-screen .property-form-grid--address .property-field-bairro{grid-column:span 2;}
.field-page .properties-screen .property-form-grid--address .property-field-logradouro{grid-column:span 3;}
.field-page .properties-screen .property-form-grid--address .property-field-numero{grid-column:span 1;}
.field-page .properties-screen .property-form-grid--territory-top .property-field-tipo{grid-column:span 2;}
.field-page .properties-screen .property-form-grid--territory-top .property-field-complemento{grid-column:span 2;}
.field-page .properties-screen .property-form-grid--territory-top .property-field-referencia{grid-column:span 2;}
.field-page .properties-screen .property-form-grid--territory-top .property-field-microarea{grid-column:span 3;}
.field-page .properties-screen .property-form-grid--territory-top .property-field-quarteirao{grid-column:span 3;}
.field-page .properties-screen .property-form-grid--obs .property-field-obs{grid-column:1 / -1;}

.field-page .properties-screen .property-form-grid .field{
  padding:0;
  border:none;
  background:transparent;
}

.field-page .properties-screen .field label{
  margin-bottom:7px;
  color:#2f3537;
  font-size:1rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.field-page .properties-screen input,
.field-page .properties-screen select,
.field-page .properties-screen textarea{
  min-height:56px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid #cfd7de;
  background:#ffffff;
  color:#24313a;
  font-size:1rem;
  box-shadow:none;
}

.field-page .properties-screen textarea{
  min-height:128px;
  padding:14px 16px;
  resize:vertical;
}

.field-page .properties-screen input::placeholder,
.field-page .properties-screen textarea::placeholder{
  color:#8b93a0;
}

.field-page .properties-screen select:focus,
.field-page .properties-screen input:focus,
.field-page .properties-screen textarea:focus{
  border-color:#2e7350;
  box-shadow:0 0 0 4px rgba(46,115,80,.10);
}

.field-page .properties-screen .field-help{
  margin-top:9px;
  color:#53715f;
  font-size:.92rem;
  line-height:1.45;
}

.field-page .property-form-actions--refined{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:14px;
  align-items:stretch;
}

.field-page .property-form-actions--refined .btn{
  min-height:58px;
  border-radius:14px;
  font-size:1rem;
  font-weight:800;
  box-shadow:none;
}

.field-page .property-form-actions--refined .btn-save-property{
  background:#0d6a3a;
  border-color:#0d6a3a;
  color:#fff;
  font-size:1.05rem;
  letter-spacing:.01em;
  box-shadow:0 10px 22px rgba(13,106,58,.16);
}

.field-page .property-form-actions--refined .btn-save-property:hover{
  filter:brightness(.98);
}

.field-page .property-form-actions--refined .btn-gps-soft{
  background:#ffffff;
  border:1px solid #d2c3f4;
  color:#6d4cc2;
}

.field-page .property-form-actions--refined .btn-gps-soft:hover{
  background:#faf7ff;
}

.field-page .property-form-actions--refined .btn-clear-property{
  background:#ffffff;
  border:1px solid #efb2b2;
  color:#c84444;
}

.field-page .property-form-actions--refined .btn-clear-property:hover{
  background:#fff8f8;
}

@media (max-width: 980px){
  .field-page .properties-screen .property-form-card--solo{
    padding:20px 18px 18px;
  }

  .field-page .property-form-head--refined .section-title{
    font-size:1.72rem;
  }

  .field-page .properties-screen .property-form-grid--address,
  .field-page .properties-screen .property-form-grid--territory-top{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .field-page .properties-screen .property-form-grid--address .property-field-bairro,
  .field-page .properties-screen .property-form-grid--address .property-field-logradouro,
  .field-page .properties-screen .property-form-grid--address .property-field-numero,
  .field-page .properties-screen .property-form-grid--territory-top .property-field-tipo,
  .field-page .properties-screen .property-form-grid--territory-top .property-field-complemento,
  .field-page .properties-screen .property-form-grid--territory-top .property-field-referencia,
  .field-page .properties-screen .property-form-grid--territory-top .property-field-microarea,
  .field-page .properties-screen .property-form-grid--territory-top .property-field-quarteirao{
    grid-column:span 1;
  }

  .field-page .property-form-actions--refined{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .field-page .property-form-head--refined{
    align-items:flex-start;
  }

  .field-page .properties-screen .property-form-grid--top,
  .field-page .properties-screen .property-form-grid--obs,
  .field-page .properties-screen .property-form-grid--address,
  .field-page .properties-screen .property-form-grid--territory-top{
    grid-template-columns:1fr;
  }

  .field-page .property-form-section{
    padding:14px 12px 12px;
    border-radius:16px;
  }

  .field-page .property-form-head--refined .section-title{
    font-size:1.5rem;
  }

}


/* =========================================================
   INDEX V.39 - ajuste fino e remoção de ajuda duplicada
   ========================================================= */
.field-page .properties-screen .property-form-card--solo{
  border:1px solid rgba(20,46,32,.08);
  box-shadow:0 10px 28px rgba(14,39,28,.05);
}

.field-page .property-form-head--refined{
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid #dde6e1;
}

.field-page .property-form-head--refined .section-title{
  color:#1e2d29;
}

.field-page .property-form-section{
  margin-top:16px;
  padding:18px 16px 16px;
  border:1px solid #e5ece8;
  border-radius:16px;
  background:linear-gradient(180deg,#fcfdfc 0%, #fafcfb 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}

.field-page .property-form-section + .property-form-section{
  margin-top:14px;
}

.field-page .property-form-section__heading{
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #e8eeea;
}

.field-page .property-form-section__heading h3{
  color:#1d5a3b;
  font-size:1.08rem;
  font-weight:800;
}

.field-page .properties-screen .property-form-grid{
  gap:16px 18px;
}

.field-page .properties-screen .field label{
  margin-bottom:6px;
  color:#343c43;
  font-size:.96rem;
  font-weight:700;
}

.field-page .properties-screen input,
.field-page .properties-screen select,
.field-page .properties-screen textarea{
  border:1px solid #cfd8de;
  background:#fff;
  color:#233039;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.field-page .properties-screen select:hover,
.field-page .properties-screen input:hover,
.field-page .properties-screen textarea:hover{
  border-color:#bcc8cf;
}

.field-page .properties-screen input::placeholder,
.field-page .properties-screen textarea::placeholder{
  color:#9199a5;
}

.field-page .properties-screen textarea{
  min-height:142px;
  line-height:1.55;
}

.field-page .properties-screen .field-help{
  margin-top:7px;
  color:#5d7766;
  font-size:.87rem;
}

.field-page .properties-screen #propStreetSuggestion,
.field-page .properties-screen .property-field-logradouro #propStreetSuggestion,
.field-page .properties-screen .property-field-logradouro .street-suggestion{
  display:none;
}

.field-page .property-field-microarea select,
.field-page .property-field-quarteirao select{
  min-height:58px;
}

.field-page .property-form-actions--refined{
  gap:12px;
  padding-top:4px;
}

.field-page .property-form-actions--refined .btn{
  min-height:56px;
  font-size:1rem;
  font-weight:800;
  letter-spacing:0;
}

.field-page .property-form-actions--refined .btn-gps-soft{
  background:#ffffff;
  border-color:#d6c9f3;
  color:#6a4db7;
}

.field-page .property-form-actions--refined .btn-gps-soft:hover{
  border-color:#c5b3ed;
  background:#fcfaff;
}

.field-page .property-form-actions--refined .btn-save-property{
  background:linear-gradient(180deg,#0d6a3a 0%, #0b5e34 100%);
  border-color:#0b5e34;
  box-shadow:0 12px 24px rgba(11,94,52,.15);
}

.field-page .property-form-actions--refined .btn-save-property:hover{
  box-shadow:0 14px 26px rgba(11,94,52,.18);
}

.field-page .property-form-actions--refined .btn-clear-property{
  border-color:#efc1c1;
  color:#c74a4a;
  background:#fff;
}

.field-page .property-form-actions--refined .btn-clear-property:hover{
  border-color:#e7aaaa;
  background:#fff8f8;
}

@media (max-width: 720px){
  .field-page .property-form-section{
    padding:14px 12px 12px;
  }
}


/* =========================================================
   INDEX V.40 - refinamento visual das abas de Visitas
   Base: arquivo enviado pelo usuário (v.39)
   Sem alteração de lógica
   ========================================================= */
.field-page .visit-screen{
  max-width:1120px;
  margin:0 auto;
}

.field-page .visit-screen .visit-wizard{
  top:102px;
  margin-bottom:16px;
  padding:12px;
  border:1px solid rgba(20,46,32,.08);
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%);
  box-shadow:0 12px 28px rgba(14,39,28,.06);
}

.field-page .visit-screen .visit-wizard::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.field-page .visit-screen .visit-wizard-steps{
  gap:12px;
}

.field-page .visit-screen .visit-step-chip{
  min-height:102px;
  padding:14px 14px 13px;
  border-radius:18px;
  border:1px solid #dde6e1;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%);
  box-shadow:none;
}

.field-page .visit-screen .visit-step-chip small{
  margin-bottom:6px;
  color:#6a7686;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
}

.field-page .visit-screen .visit-step-chip strong{
  color:#27323a;
  font-size:1.02rem;
  line-height:1.16;
  margin:0 0 6px;
}

.field-page .visit-screen .visit-step-chip span{
  color:#68756f;
  font-size:.86rem;
  line-height:1.42;
}

.field-page .visit-screen .visit-step-chip.is-active{
  background:linear-gradient(180deg,#1f5f41 0%,#1a5339 100%);
  border-color:#1f5f41;
  box-shadow:0 14px 26px rgba(24,60,44,.16);
}

.field-page .visit-screen .visit-step-chip.is-active strong{
  color:#ffffff;
}

.field-page .visit-screen .visit-step-chip.is-active small,
.field-page .visit-screen .visit-step-chip.is-active span{
  color:rgba(255,255,255,.84);
}

.field-page .visit-screen .visit-step-chip.is-done{
  border-color:#cfe0d6;
  background:linear-gradient(180deg,#f5fbf7 0%,#eef7f1 100%);
}

.field-page .visit-screen .visit-step-chip.is-skipped{
  border-style:dashed;
  background:#f7f8f8;
}

.field-page .visit-screen .visit-card{
  margin-bottom:14px;
  padding:22px 24px;
  border-radius:22px;
  border:1px solid rgba(20,46,32,.08);
  box-shadow:0 12px 28px rgba(14,39,28,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,251,249,.99));
}

.field-page .visit-screen .visit-card .section-title{
  margin:0 0 6px;
  color:#1f2d29;
  font-size:1.66rem;
  font-weight:800;
  letter-spacing:-0.02em;
}

.field-page .visit-screen .visit-step-intro{
  max-width:72ch;
  margin:0 0 16px;
  color:#6a7585;
  font-size:1rem;
  line-height:1.55;
}

.field-page .visit-screen .visit-property-browser-card{
  padding:18px 18px 16px;
  border-radius:18px;
  border:1px solid #e3ebe6;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfc 100%);
  box-shadow:none;
}

.field-page .visit-screen .visit-property-browser-card .section-title{
  font-size:1.28rem;
  margin-bottom:12px;
}
.field-page .visit-screen .property-query-grid .field{
  margin-bottom:0;
}

.field-page .visit-screen .property-query-grid label{
  margin-bottom:7px;
  color:#343c43;
  font-size:.94rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.field-page .visit-screen .property-query-grid input,
.field-page .visit-screen .property-query-grid select{
  min-height:56px;
  border-radius:14px;
  border:1px solid #cfd8de;
  background:#ffffff;
  color:#233039;
}

.field-page .visit-screen .property-query-grid input::placeholder{
  color:#8d95a0;
}

.field-page .visit-screen .property-query-grid input:focus,
.field-page .visit-screen .property-query-grid select:focus{
  border-color:#2e7350;
  box-shadow:0 0 0 4px rgba(46,115,80,.10);
}
.field-page .visit-screen .property-query-actions .btn{
  width:auto;
  min-width:170px;
  min-height:48px;
  border-radius:14px;
  padding:10px 16px;
  font-size:.95rem;
  font-weight:800;
}

.field-page .visit-screen .property-query-actions .btn-soft{
  background:#ffffff;
  color:#315c47;
  border-color:#d5e1da;
}

.field-page .visit-screen .property-list{
  margin-top:16px;
  border:1px solid #e1e9e4;
  border-radius:18px;
  background:linear-gradient(180deg,#fcfdfd 0%,#f8fbf9 100%);
}
.field-page .visit-screen .property-list-head strong{
  color:#1f2d29;
  font-size:1.14rem;
}

.field-page .visit-screen .property-list-head span{
  color:#66736d;
  font-size:.92rem;
}

.field-page .visit-screen .property-list-head-top{
  gap:12px;
}

.field-page .visit-screen .property-list-meta{
  gap:8px;
}

.field-page .visit-screen .property-list-filters{
  gap:10px;
  margin-top:12px;
}

.field-page .visit-screen .property-filter-btn{
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
  border-color:#d2ddd8;
  color:#2b4436;
  font-size:.9rem;
  font-weight:800;
  box-shadow:none;
}

.field-page .visit-screen .property-filter-btn span{
  min-width:28px;
  padding:4px 8px;
  background:#eef5f1;
  color:#355645;
}

.field-page .visit-screen .property-filter-btn.is-active{
  background:linear-gradient(180deg,#1f5f41 0%,#1a5339 100%);
  border-color:#1f5f41;
  box-shadow:0 10px 22px rgba(24,60,44,.12);
}

.field-page .visit-screen .property-filter-btn.is-active span{
  background:rgba(255,255,255,.16);
  color:#ffffff;
}

.field-page .visit-screen .property-list-body{
  gap:10px;
  padding:14px 16px 18px 14px;
}

.field-page .visit-screen .property-result-card{
  border-radius:18px;
  border:1px solid rgba(20,46,32,.09);
  box-shadow:0 8px 20px rgba(14,39,28,.05);
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfa 100%);
}

.field-page .visit-screen .property-result-card::before{
  width:6px;
  border-radius:18px 0 0 18px;
}

.field-page .visit-screen .property-card-title{
  color:#173826;
  font-size:1.08rem;
  line-height:1.22;
}

.field-page .visit-screen .status-cell{
  min-height:31px;
  padding:6px 9px;
  border-radius:9px;
  font-size:.79rem;
}

.field-page .visit-screen .property-card-mainline{
  font-size:.9rem;
  color:#43554d;
}

.field-page .visit-screen .property-card-subline,
.field-page .visit-screen .property-card-territory{
  color:#607068;
  font-size:.84rem;
  line-height:1.35;
}

.field-page .visit-screen .property-result-card .meta-pills{
  gap:6px;
}

.field-page .visit-screen .property-result-card .meta-pill,
.field-page .visit-screen .property-result-card .status-pill{
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  font-size:.8rem;
}

.field-page .visit-screen .property-result-card .card-actions{
  gap:8px;
}

.field-page .visit-screen .property-result-card .card-actions .btn{
  min-height:46px;
  border-radius:12px;
  font-size:.94rem;
  font-weight:800;
}

.field-page .visit-screen .property-result-card .card-actions .btn-primary{
  box-shadow:0 10px 18px rgba(24,60,44,.10);
}

.field-page .visit-screen .property-result-card .card-actions .btn-warn{
  background:#ffffff;
  border-color:#cfe0d7;
  color:#2c5a44;
}

.field-page .visit-screen .visit-selected-card{
  margin-top:16px;
  padding:12px 14px 11px;
  border-radius:16px;
  border:1px solid #dae6df;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%);
}

.field-page .visit-screen .visit-selected-card h3{
  color:#1f2d29;
}

.field-page .visit-screen .visit-selected-card p{
  color:#66736d;
}

.field-page .visit-screen .choice-card{
  border-radius:14px;
  border:1px solid #d5dfda;
  background:linear-gradient(180deg,#ffffff 0%,#fafcfa 100%);
  box-shadow:none;
}

.field-page .visit-screen .choice-card strong{
  color:#243039;
  font-size:1rem;
}

.field-page .visit-screen .choice-card span{
  color:#68756f;
}

.field-page .visit-screen .choice-card.is-active{
  border-color:#1f5f41;
  background:linear-gradient(180deg,#edf7f1 0%,#e4f1e9 100%);
  box-shadow:0 10px 18px rgba(24,60,44,.08);
}
.field-page .visit-screen .visit-step-panel .field label,
.field-page .visit-screen .visit-deposit-card .field label,
.field-page .visit-screen .visit-treatment-card .field label,
.field-page .visit-screen .visit-summary-card .field label{
  margin-bottom:7px;
  color:#343c43;
  font-size:.96rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.field-page .visit-screen .visit-step-panel input,
.field-page .visit-screen .visit-step-panel select,
.field-page .visit-screen .visit-treatment-card textarea,
.field-page .visit-screen .visit-treatment-card select,
.field-page .visit-screen .visit-treatment-card input,
.field-page .visit-screen .visit-deposit-card select,
.field-page .visit-screen .visit-deposit-card input,
.field-page .visit-screen .visit-summary-card select,
.field-page .visit-screen .visit-summary-card input{
  min-height:56px;
  border-radius:14px;
  border:1px solid #cfd8de;
  background:#ffffff;
  color:#233039;
}

.field-page .visit-screen .visit-treatment-card textarea{
  min-height:132px;
  border-radius:14px;
  border:1px solid #cfd8de;
  background:#ffffff;
  color:#233039;
}

.field-page .visit-screen .visit-step-panel input:focus,
.field-page .visit-screen .visit-step-panel select:focus,
.field-page .visit-screen .visit-treatment-card textarea:focus,
.field-page .visit-screen .visit-treatment-card select:focus,
.field-page .visit-screen .visit-treatment-card input:focus,
.field-page .visit-screen .visit-deposit-card select:focus,
.field-page .visit-screen .visit-deposit-card input:focus,
.field-page .visit-screen .visit-summary-card select:focus,
.field-page .visit-screen .visit-summary-card input:focus{
  border-color:#2e7350;
  box-shadow:0 0 0 4px rgba(46,115,80,.10);
}

.field-page .visit-screen .visit-step-panel .field-help,
.field-page .visit-screen .visit-treatment-card .field-help,
.field-page .visit-screen .visit-deposit-card .field-help{
  margin-top:7px;
  color:#5d7766;
  font-size:.87rem;
}

.field-page .visit-screen .visit-deposit-card,
.field-page .visit-screen .visit-treatment-card,
.field-page .visit-screen .visit-summary-card,
.field-page .visit-screen .visit-history-panel{
  border-radius:22px;
}

.field-page .visit-screen .deposit-card{
  border-radius:18px;
  border:1px solid #dde6e1;
  box-shadow:none;
  background:linear-gradient(180deg,#ffffff 0%,#fafcfb 100%);
}

.field-page .visit-screen .deposit-total{
  border-radius:18px;
  border-color:#dce5e0;
}

.field-page .visit-screen .deposit-focus-box{
  border-radius:16px;
  border-color:#dde6e1;
}
.field-page .visit-screen .visit-final-actions .btn{
  min-height:52px;
  border-radius:14px;
  font-size:1rem;
  font-weight:800;
}
.field-page .visit-screen .visit-history-panel summary{
  color:#173826;
  font-weight:800;
}

@media (max-width: 980px){
  .field-page .visit-screen .visit-wizard-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .field-page .visit-screen .visit-wizard{
    padding:10px;
  }

  .field-page .visit-screen .visit-step-chip{
    min-height:94px;
    padding:12px;
  }
.field-page .visit-screen .visit-card .section-title{
    font-size:1.42rem;
  }

  .field-page .visit-screen .property-query-actions .btn{
    width:100%;
    min-width:0;
  }

  .field-page .visit-screen .property-list-head-top{
    flex-direction:column;
    align-items:flex-start;
  }

  .field-page .visit-screen .property-list-meta{
    justify-content:flex-start;
  }
}


/* =========================================================
   INDEX V.42 - header e abas de visita no estilo 4
   Base: v.40 enviada pelo usuário
   Sem alteração de lógica
   ========================================================= */
.field-page .page-shell{
  background:linear-gradient(180deg,#f4f8f5 0%, #eef4f0 100%);
}

.field-page .topbar{
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(90deg,#165b37 0%, #1f6e3f 100%);
  box-shadow:0 12px 28px rgba(10,32,22,.18);
}

.field-page .topbar-row{
  max-width:1360px;
  padding:18px 24px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
}

.field-page .brand-mark{
  width:56px;
  height:56px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:1.5rem;
}

.field-page .brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}

.field-page .brand-copy h1{
  margin:0;
  color:#ffffff;
  font-size:1.55rem;
  font-weight:800;
  letter-spacing:-0.02em;
}

.field-page .brand-copy p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:1rem;
  line-height:1.35;
}

.field-page .chip-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.field-page .chip{
  min-height:50px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.98rem;
  font-weight:800;
  box-shadow:none;
}

.field-page #syncChip{
  background:rgba(152,171,72,.22);
  border-color:rgba(210,226,126,.24);
}

.field-page .header-sync-btn{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
}

.field-page #headerAdminBtn{
  display:none;
  min-width:50px;
  padding:0 14px;
}

.field-page .nav-tabs{
  max-width:1360px;
  padding:0 24px 18px;
  gap:12px;
}

.field-page .tab-btn{
  min-width:126px;
  min-height:54px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(10,52,31,.18);
  color:rgba(255,255,255,.88);
  font-size:1rem;
  font-weight:800;
  text-transform:none;
  letter-spacing:.01em;
}

.field-page .tab-btn.active{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.18);
  color:#fff;
  box-shadow:0 10px 18px rgba(8,28,19,.14), inset 0 1px 0 rgba(255,255,255,.08);
}

.field-page main{
  max-width:1360px;
  padding:18px 22px 28px;
}

.field-page .visit-screen{
  max-width:none;
  margin:0;
}

.field-page .visit-screen .visit-wizard{
  top:112px;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}

.field-page .visit-screen .visit-wizard::before{display:none;}

.field-page .visit-screen .visit-wizard-steps{
  gap:0;
  border:1px solid #dfe7e2;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(14,39,28,.05);
}

.field-page .visit-screen .visit-step-chip{
  position:relative;
  min-height:118px;
  padding:16px 20px 16px 78px;
  border:none;
  border-right:1px solid #e4ebe7;
  border-radius:0;
  background:linear-gradient(180deg,#ffffff 0%, #fbfcfc 100%);
  box-shadow:none;
  text-align:left;
}
.field-page .visit-screen .visit-step-chip::before{
  content:attr(data-visit-step-nav);
  position:absolute;
  left:18px;
  top:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:2px solid #d6e3dc;
  background:#fff;
  color:#4f6358;
  font-size:1.22rem;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}

.field-page .visit-screen .visit-step-chip small{
  margin:0 0 6px;
  color:#6f7887;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.04em;
}

.field-page .visit-screen .visit-step-chip strong{
  margin:0 0 6px;
  color:#27323a;
  font-size:1.06rem;
  line-height:1.16;
}

.field-page .visit-screen .visit-step-chip span{
  color:#66736d;
  font-size:.92rem;
  line-height:1.42;
}

.field-page .visit-screen .visit-step-chip.is-active{
  background:linear-gradient(180deg,#1f6b3f 0%, #1b5b37 100%);
}

.field-page .visit-screen .visit-step-chip.is-active::before{
  border-color:rgba(255,255,255,.18);
  color:#1f6b3f;
}

.field-page .visit-screen .visit-step-chip.is-active strong{color:#fff;}
.field-page .visit-screen .visit-step-chip.is-active small,
.field-page .visit-screen .visit-step-chip.is-active span{color:rgba(255,255,255,.88);}

.field-page .visit-screen .visit-step-chip.is-done::before{
  content:'✓';
  border-color:#d2e5d8;
  background:#ecf7f0;
  color:#1f6b3f;
}

.field-page .visit-screen .visit-step-chip.is-done{
  background:linear-gradient(180deg,#fbfdfb 0%, #f4faf6 100%);
}

.field-page .visit-screen .visit-step-chip.is-skipped{
  background:#fafbfa;
}

.field-page .visit-screen .visit-card,
.field-page .visit-screen .visit-foldout{
  margin-bottom:16px;
  padding:22px 22px 20px;
  border-radius:18px;
  border:1px solid #dde5e0;
  box-shadow:0 10px 26px rgba(14,39,28,.05);
  background:linear-gradient(180deg,#ffffff 0%, #fbfcfb 100%);
}

.field-page .visit-screen .visit-card .section-title,
.field-page .visit-screen .visit-foldout summary{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 8px;
  color:#20302a;
  font-size:1.34rem;
  font-weight:800;
  letter-spacing:-0.01em;
}

.field-page .visit-screen .visit-card .section-title::before,
.field-page .visit-screen .visit-foldout summary::before{
  content:'';
  width:40px;
  height:40px;
  border-radius:12px;
  background:#edf5f1;
  border:1px solid #d7e4dc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  flex:0 0 auto;
}

.field-page .visit-screen .visit-property-card .section-title::before{ background:#edf5f1; }
.field-page .visit-screen .visit-data-card [data-visit-step="2"] .section-title::before{ background:#edf5f1; }
.field-page .visit-screen .visit-deposit-card .section-title::before{ background:#edf5f1; }
.field-page .visit-screen .visit-data-card [data-visit-step="4"] .section-title::before{ background:#edf5f1; }
.field-page .visit-screen .visit-summary-card .section-title::before{ background:#edf5f1; }

.field-page .visit-screen .visit-step-intro,
.field-page .visit-screen .field-help,
.field-page .visit-screen .card-note{
  color:#6b7483;
}

.field-page .visit-screen .property-query-grid,
.field-page .visit-screen .visit-step-panel .grid.two{
  gap:16px 18px;
}

.field-page .visit-screen .field label,
.field-page .visit-screen .property-query-grid label,
.field-page .visit-screen .deposit-card .field > label,
.field-page .visit-screen .check-row label{
  margin-bottom:7px;
  color:#384046;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.field-page .visit-screen input,
.field-page .visit-screen select,
.field-page .visit-screen textarea,
.field-page .visit-screen .property-query-grid input,
.field-page .visit-screen .property-query-grid select{
  min-height:54px;
  border-radius:14px;
  border:1px solid #ced8de;
  background:#fff;
  color:#24313a;
}

.field-page .visit-screen textarea{
  min-height:126px;
}

.field-page .visit-screen input::placeholder,
.field-page .visit-screen textarea::placeholder{
  color:#8c96a3;
}

.field-page .visit-screen input:focus,
.field-page .visit-screen select:focus,
.field-page .visit-screen textarea:focus{
  border-color:#2f7a52;
  box-shadow:0 0 0 4px rgba(47,122,82,.10);
}

.field-page .visit-screen .property-query-actions,
.field-page .visit-screen .visit-final-actions,
.field-page .visit-screen .btn-row{
  gap:10px;
}

.field-page .visit-screen .btn,
.field-page .visit-screen .property-result-card .card-actions .btn,
.field-page .visit-screen .visit-final-actions .btn{
  min-height:50px;
  border-radius:14px;
  font-size:.96rem;
  font-weight:800;
}

.field-page .visit-screen .btn-soft,
.field-page .visit-screen .btn-warn,
.field-page .visit-screen .btn-secondary{
  background:#fff;
  color:#295740;
  border-color:#d5dfda;
}

.field-page .visit-screen .btn-primary{
  background:linear-gradient(180deg,#0f6a3a 0%, #0c5e34 100%);
  border-color:#0c5e34;
  box-shadow:0 10px 18px rgba(12,94,52,.12);
}

.field-page .visit-screen .property-list{
  border:1px solid #dde5e0;
  border-radius:18px;
  background:linear-gradient(180deg,#fcfdfd 0%, #f8fbf9 100%);
}

.field-page .visit-screen .property-list-head{
  padding:16px 18px 14px;
  background:linear-gradient(180deg,#fcfdfd 0%, #f7faf8 100%);
}

.field-page .visit-screen .property-list-head strong{font-size:1.12rem;color:#1f2d29;}
.field-page .visit-screen .property-list-filters{gap:10px;}
.field-page .visit-screen .property-filter-btn{
  min-height:44px;
  border-radius:14px;
  border-color:#d1ddd8;
  font-size:.9rem;
  box-shadow:none;
}
.field-page .visit-screen .property-filter-btn.is-active{
  background:linear-gradient(180deg,#1f6b3f 0%, #1b5b37 100%);
  border-color:#1f6b3f;
}
.field-page .visit-screen .property-result-card{
  border-radius:18px;
  border:1px solid rgba(20,46,32,.09);
  box-shadow:0 8px 20px rgba(14,39,28,.05);
  background:linear-gradient(180deg,#ffffff 0%, #fafcfb 100%);
}
.field-page .visit-screen .property-result-card .card-actions .btn-primary{box-shadow:0 8px 16px rgba(12,94,52,.10);}
.field-page .visit-screen .property-result-card .card-actions .btn-warn{background:#fff;color:#295740;border-color:#cfe0d7;}
.field-page .visit-screen .visit-selected-card{
  margin-top:16px;
  border-radius:16px;
  border:1px solid #dae6df;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbf9 100%);
}

.field-page .visit-screen .choice-btn{
  min-height:72px;
  border-radius:16px;
  border:1px solid #d6e0db;
  background:linear-gradient(180deg,#ffffff 0%, #fbfcfb 100%);
  box-shadow:none;
}

.field-page .visit-screen .choice-btn.active.choice-btn-open,
.field-page .visit-screen .choice-btn.active.choice-btn-yes,
.field-page .visit-screen .choice-btn.active.choice-btn-recovered{
  box-shadow:0 10px 18px rgba(24,60,44,.08);
}

.field-page .visit-screen .deposit-card,
.field-page .visit-screen .visit-summary-receipt,
.field-page .visit-screen .visit-summary-mini-card,
.field-page .visit-screen .visit-inline-foldout,
.field-page .visit-screen .inherited-visit-box{
  border-radius:16px;
  border-color:#dde5e0;
  box-shadow:none;
}

.field-page .visit-screen .deposit-card{
  background:linear-gradient(180deg,#ffffff 0%, #fafcfb 100%);
}

.field-page .visit-screen .deposit-focus-box,
.field-page .visit-screen .visit-water-alert,
.field-page .visit-screen .visit-tubitos-field{
  border-radius:16px;
}

.field-page .visit-screen .visit-summary-receipt{
  padding:16px;
  border-left:4px solid #1f6b3f;
}

.field-page .visit-screen .visit-summary-mini-card{
  min-height:88px;
}

.field-page .visit-screen .visit-summary-mini-card strong{
  font-size:1rem;
}

.field-page .visit-screen .visit-foldout summary{
  margin:0;
}

.field-page .visit-screen .visit-foldout::before{display:none;}

.field-page #syncStatus{
  right:18px;
  bottom:18px;
  min-height:56px;
  padding:0 18px;
  border-radius:14px;
  font-size:1rem;
  font-weight:800;
  box-shadow:0 12px 22px rgba(14,39,28,.18);
}

@media (max-width: 1100px){
  .field-page .topbar-row{
    grid-template-columns:minmax(0,1fr);
  }
  .field-page .chip-row{justify-content:flex-start;}
  .field-page .visit-screen .visit-wizard-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .field-page .topbar-row,
  .field-page .nav-tabs,
  .field-page main{padding-left:14px;padding-right:14px;}
  .field-page .brand-copy h1{font-size:1.28rem;}
  .field-page .brand-copy p{font-size:.94rem;}
  .field-page .chip{min-height:46px;font-size:.92rem;}
  .field-page .tab-btn{min-width:112px;min-height:50px;font-size:.94rem;}
  .field-page .visit-screen .visit-step-chip{min-height:96px;padding:12px 14px 12px 66px;}
  .field-page .visit-screen .visit-step-chip::before{left:14px;top:18px;width:38px;height:38px;font-size:1rem;}
  .field-page .visit-screen .visit-card{padding:18px 16px;}
  .field-page .visit-screen .visit-card .section-title{font-size:1.18rem;}
}


/* =========================================================
   INDEX V.43 - redesign visual integrado do app de campo
   Base: v.42
   ========================================================= */
.field-page{
  background:linear-gradient(180deg,#eff4f1 0%,#f6f8f7 100%);
}

.field-page .page-shell{
  min-height:100vh;
  background:transparent;
}

.field-page .topbar.topbar-v43{
  position:sticky;
  top:0;
  z-index:60;
  border-radius:0 0 26px 26px;
  background:linear-gradient(180deg,#0d5a30 0%,#136635 100%);
  box-shadow:0 18px 40px rgba(10,39,24,.18);
}

.field-page .topbar.topbar-v43::after{
  content:"";
  display:block;
  height:1px;
  background:rgba(255,255,255,.08);
}

.field-page .topbar-v43 .topbar-row{
  max-width:1360px;
  margin:0 auto;
  padding:22px 22px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.field-page .topbar-v43 .topbar-main{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  flex:1 1 auto;
}

.field-page .topbar-v43 .brand-mark{
  width:56px;
  height:56px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.field-page .topbar-v43 .brand-copy h1{
  font-size:1.38rem;
  line-height:1.15;
  color:#fff;
}

.field-page .topbar-v43 .brand-copy p{
  margin-top:6px;
  color:rgba(255,255,255,.86);
  font-size:1rem;
}

.field-page .topbar-v43 .topbar-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.field-page .topbar-v43 .chip{
  min-height:56px;
  padding:0 20px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.98rem;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.field-page .topbar-v43 .chip-queue{
  background:rgba(255,255,255,.10);
}

.field-page .topbar-v43 .header-sync-btn{
  background:rgba(255,255,255,.14);
}

.field-page .topbar-v43 .chip-icon{
  width:56px;
  padding:0;
  font-size:1.2rem;
}

.field-page .topbar-v43 .chip-logout{
  min-width:96px;
}

.field-page .nav-tabs.nav-tabs-v43{
  max-width:1360px;
  margin:0 auto;
  padding:0 22px 18px;
  gap:12px;
}

.field-page .nav-tabs-v43 .tab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:138px;
  min-height:54px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);
  font-size:1rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
}

.field-page .nav-tabs-v43 .tab-btn__icon{
  font-size:1rem;
  opacity:.95;
}

.field-page .nav-tabs-v43 .tab-btn.active{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.20);
  color:#fff;
  box-shadow:0 10px 20px rgba(11,44,28,.14);
}

.field-page main{
  max-width:1360px;
  margin:18px auto 0;
  padding:0 22px 24px;
}

.field-page .card{
  border-radius:22px;
  border:1px solid rgba(20,46,32,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,250,248,.99));
  box-shadow:0 12px 28px rgba(14,39,28,.06);
}

.field-page .card::before{
  height:0;
  margin:0;
}

.field-page .section-title{
  letter-spacing:0;
  text-transform:none;
}

.field-page .btn{
  min-height:50px;
  border-radius:14px;
  font-weight:800;
  font-size:1rem;
  box-shadow:none;
}

.field-page .btn-primary{
  background:linear-gradient(180deg,#0d6a3a 0%,#0b5e34 100%);
  border-color:#0b5e34;
  box-shadow:0 12px 22px rgba(11,94,52,.14);
}

.field-page .btn-primary:hover{
  box-shadow:0 14px 24px rgba(11,94,52,.16);
}

.field-page .btn-soft,
.field-page .btn-secondary,
.field-page .btn-warn{
  background:#fff;
  border-color:#d2ddd8;
  color:#274936;
}

.field-page .btn-danger{
  background:#fff;
  border-color:#e9b7b7;
  color:#c24d4d;
}

.field-page .field label{
  margin-bottom:7px;
  color:#35413c;
  font-size:.96rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.field-page input,
.field-page select,
.field-page textarea{
  min-height:56px;
  border-radius:14px;
  border:1px solid #cfd8de;
  background:#fff;
  color:#233039;
}

.field-page textarea{
  min-height:130px;
}

.field-page input::placeholder,
.field-page textarea::placeholder{
  color:#8e96a2;
}

.field-page input:focus,
.field-page select:focus,
.field-page textarea:focus{
  border-color:#2e7350;
  box-shadow:0 0 0 4px rgba(46,115,80,.10);
}

.field-page .field-help{
  margin-top:7px;
  color:#5d7766;
  font-size:.87rem;
}

.field-page .visit-screen{
  max-width:1280px;
  margin:0 auto;
}

.field-page .visit-wizard{
  position:sticky;
  top:112px;
  z-index:30;
  margin-bottom:16px;
  padding:10px;
  border-radius:22px;
  border:1px solid rgba(20,46,32,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f7faf8 100%);
  box-shadow:0 12px 26px rgba(14,39,28,.06);
}

.field-page .visit-wizard-steps{
  gap:0;
  border-radius:18px;
  overflow:hidden;
}

.field-page .visit-step-chip{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:116px;
  padding:16px 18px;
  border-radius:0;
  border:1px solid #dde6e1;
  border-right-width:0;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%);
}

.field-page .visit-step-chip:last-child{border-right-width:1px; border-radius:0 16px 16px 0;}
.field-page .visit-step-chip:first-child{border-radius:16px 0 0 16px;}

.field-page .visit-step-chip__number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #d1ddd8;
  background:#fff;
  color:#355846;
  font-size:1.14rem;
  font-weight:900;
}

.field-page .visit-step-chip__body{display:flex; flex-direction:column; align-items:flex-start;}

.field-page .visit-step-chip small{
  margin-bottom:6px;
  color:#6c7886;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
}

.field-page .visit-step-chip strong{
  color:#2a343c;
  font-size:1.08rem;
  line-height:1.18;
}

.field-page .visit-step-chip span:last-child{
  margin-top:6px;
  color:#69756f;
  font-size:.9rem;
  line-height:1.45;
}

.field-page .visit-step-chip.is-active{
  position:relative;
  z-index:2;
  background:linear-gradient(180deg,#1f5f41 0%,#1a5339 100%);
  border-color:#1f5f41;
  box-shadow:0 14px 24px rgba(24,60,44,.14);
}

.field-page .visit-step-chip.is-active .visit-step-chip__number{
  background:#fff;
  color:#1f5f41;
  border-color:rgba(255,255,255,.16);
}

.field-page .visit-step-chip.is-active small,
.field-page .visit-step-chip.is-active span:last-child,
.field-page .visit-step-chip.is-active strong{
  color:#fff;
}

.field-page .visit-step-chip.is-done{background:linear-gradient(180deg,#f5fbf7 0%,#eef7f1 100%);}
.field-page .visit-step-chip.is-done .visit-step-chip__number{background:#2f7a52;color:#fff;border-color:#2f7a52;}
.field-page .visit-step-chip.is-skipped{border-style:dashed;background:#f7f8f8;}
.field-page .visit-step-chip.is-locked{opacity:.75;}

.field-page .visit-card{
  margin-bottom:14px;
  padding:22px 24px;
}

.field-page .visit-card .section-title{
  margin:0 0 8px;
  color:#1f2d29;
  font-size:1.58rem;
  font-weight:800;
  letter-spacing:-0.02em;
}

.field-page .visit-step-intro{
  max-width:72ch;
  margin:0 0 16px;
  color:#6a7585;
  font-size:1rem;
  line-height:1.55;
}

.field-page .visit-property-browser-card,
.field-page .visit-data-card,
.field-page .visit-deposit-card,
.field-page .visit-treatment-card,
.field-page .visit-summary-card,
.field-page .visit-history-panel{
  border-radius:20px;
}

.field-page .visit-property-browser-card{
  padding:18px 18px 16px;
  border:1px solid #e3ebe6;
  background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
}

.field-page .visit-property-browser-card .section-title{
  font-size:1.26rem;
  margin-bottom:12px;
}

.field-page .visit-screen .property-query-grid{
  gap:16px 18px;
  align-items:end;
}

.field-page .visit-screen .property-query-actions{
  gap:10px;
  margin-top:14px;
}

.field-page .visit-screen .property-query-actions .btn{
  min-width:170px;
  min-height:48px;
  border-radius:14px;
  padding:10px 16px;
  font-size:.95rem;
}

.field-page .visit-screen .property-list{
  border:1px solid #e1e9e4;
  border-radius:18px;
  background:linear-gradient(180deg,#fcfdfd 0%,#f8fbf9 100%);
}

.field-page .visit-screen .property-list-head{padding:16px 18px 14px;}
.field-page .visit-screen .property-list-head strong{color:#1f2d29;font-size:1.14rem;}
.field-page .visit-screen .property-list-head span{color:#66736d;font-size:.92rem;}
.field-page .visit-screen .property-list-filters{gap:10px;margin-top:12px;}

.field-page .visit-screen .property-filter-btn{
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
  border-color:#d2ddd8;
  color:#2b4436;
  font-size:.9rem;
  font-weight:800;
}

.field-page .visit-screen .property-filter-btn span{background:#eef5f1;color:#355645;}
.field-page .visit-screen .property-filter-btn.is-active{background:linear-gradient(180deg,#1f5f41 0%,#1a5339 100%);border-color:#1f5f41;}
.field-page .visit-screen .property-filter-btn.is-active span{background:rgba(255,255,255,.16);color:#fff;}

.field-page .visit-screen .property-list-body{gap:10px;padding:14px 16px 18px 14px;}
.field-page .visit-screen .property-result-card{border-radius:18px;border:1px solid rgba(20,46,32,.09);box-shadow:0 8px 20px rgba(14,39,28,.05);}
.field-page .visit-screen .property-card-title{font-size:1.06rem;}
.field-page .visit-screen .status-cell{min-height:31px;padding:6px 9px;border-radius:9px;font-size:.79rem;}
.field-page .visit-screen .property-card-mainline{font-size:.9rem;color:#43554d;}
.field-page .visit-screen .property-card-subline,
.field-page .visit-screen .property-card-territory{font-size:.84rem;line-height:1.35;color:#607068;}
.field-page .visit-screen .property-result-card .meta-pill,
.field-page .visit-screen .property-result-card .status-pill{min-height:32px;padding:7px 10px;font-size:.8rem;}
.field-page .visit-screen .property-result-card .card-actions .btn{min-height:46px;border-radius:12px;font-size:.94rem;}
.field-page .visit-screen .property-result-card .card-actions .btn-warn{background:#fff;border-color:#cfe0d7;color:#2c5a44;}

.field-page .visit-screen .selected-card,
.field-page .visit-screen .visit-selected-card{
  margin-top:16px;
  padding:12px 14px 11px;
  border-radius:16px;
  border:1px solid #dae6df;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%);
  box-shadow:none;
}

.field-page .visit-screen .choice-grid{gap:14px;}
.field-page .visit-screen .choice-btn{
  min-height:92px;
  padding:18px;
  border-radius:18px;
  border:1px solid #d7e1dc;
  background:linear-gradient(180deg,#fff 0%,#fafcfa 100%);
  box-shadow:none;
}
.field-page .visit-screen .choice-btn span{margin-top:6px;color:#69756f;font-size:.92rem;line-height:1.4;}
.field-page .visit-screen .choice-btn.active{background:linear-gradient(180deg,#edf7f1 0%,#e4f1e9 100%);box-shadow:0 10px 18px rgba(24,60,44,.08);}

.field-page .visit-screen .visit-step-panel .grid.two{gap:16px 18px;}
.field-page .visit-screen .visit-water-alert{border-radius:16px;}

.field-page .visit-screen .deposit-card{
  border-radius:18px;
  border:1px solid #dde6e1;
  background:linear-gradient(180deg,#ffffff 0%,#fafcfb 100%);
  box-shadow:none;
}
.field-page .visit-screen .deposit-card.is-active{background:linear-gradient(180deg,#f8fbf9 0%,#f1f7f3 100%);border-color:#c9ddd1;}
.field-page .visit-screen .deposit-total{border-radius:16px;border-color:#dce5e0;}
.field-page .visit-screen .deposit-focus-box{border-radius:16px;border-color:#dde6e1;}
.field-page .visit-screen .deposit-card .stepper-btn{border-radius:12px;}

.field-page .visit-screen .visit-summary-receipt,
.field-page .visit-screen .visit-summary-mini-card{border-radius:16px;}
.field-page .visit-screen .visit-summary-mini-card{min-height:84px;}
.field-page .visit-screen .visit-final-actions{gap:12px;}
.field-page .visit-screen .visit-final-actions .btn{min-height:54px;border-radius:14px;}
.field-page .visit-screen .visit-history-panel summary{color:#173826;font-weight:800;}

.field-page #screen-painel .hero-card,
.field-page #screen-painel .card,
.field-page #screen-painel .metric-card,
.field-page #screen-painel .history-card{
  border-radius:20px;
}

@media (max-width: 1120px){
  .field-page .topbar-v43 .topbar-row{flex-direction:column;align-items:stretch;}
  .field-page .topbar-v43 .topbar-actions{justify-content:flex-start;flex-wrap:wrap;}
  .field-page .visit-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .field-page .visit-step-chip{border-right-width:1px;border-radius:16px;}
}

@media (max-width: 760px){
  .field-page .topbar-v43 .topbar-row{padding:16px 14px 12px;}
  .field-page .nav-tabs.nav-tabs-v43{padding:0 14px 14px;}
  .field-page main{padding:0 14px 24px;}
  .field-page .topbar-v43 .chip{min-height:48px;padding:0 16px;font-size:.9rem;}
  .field-page .topbar-v43 .chip-icon{width:48px;padding:0;}
  .field-page .nav-tabs-v43 .tab-btn{min-width:124px;min-height:50px;padding:0 14px;}
  .field-page .visit-wizard{top:88px;}
  .field-page .visit-step-chip{grid-template-columns:46px minmax(0,1fr);min-height:102px;padding:14px;}
  .field-page .visit-step-chip__number{width:40px;height:40px;font-size:1.02rem;}
  .field-page .visit-card{padding:18px 16px;}
  .field-page .visit-card .section-title{font-size:1.4rem;}
  .field-page .visit-screen .property-query-actions .btn{width:100%;min-width:0;}
  .field-page .visit-screen .property-list-head-top{flex-direction:column;align-items:flex-start;}
  .field-page .visit-screen .property-list-meta{justify-content:flex-start;}
}


/* =========================================================
   INDEX V.44 - ajustes finos após revisão visual
   ========================================================= */
.field-page .topbar-v43 .topbar-row,
.field-page .nav-tabs.nav-tabs-v43,
.field-page main{
  max-width:1280px;
}

.field-page .topbar-v43 .topbar-row{
  padding:20px 24px 14px;
}

.field-page .nav-tabs.nav-tabs-v43{
  padding:0 24px 16px;
}

.field-page main{
  margin-top:16px;
  padding:0 24px 24px;
}

.field-page .topbar-v43 .brand-mark{
  width:48px;
  height:48px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
}

.field-page .topbar-v43 .brand-copy h1{
  font-size:1.34rem;
}

.field-page .topbar-v43 .chip-icon{
  width:52px;
}

.field-page .nav-tabs-v43 .tab-btn{
  min-width:124px;
  min-height:52px;
  padding:0 18px;
}

.field-page .nav-tabs-v43 .tab-btn__icon{
  display:none;
}

.field-page .visit-screen .visit-card,
.field-page .visit-screen .visit-wizard{
  max-width:none;
}

.field-page .visit-screen .selected-card,
.field-page .visit-screen .visit-selected-card{
  padding:10px 14px;
}

.field-page .visit-screen .selected-card-top{
  grid-template-columns:minmax(0,1fr);
  gap:4px;
}

.field-page .visit-screen .selected-card-top span{
  text-align:left;
}

.field-page .visit-screen .property-list{
  display:flex;
  flex-direction:column;
  height:calc(100vh - 360px);
  min-height:420px;
  max-height:680px;
}

.field-page .visit-screen .property-list-body{
  flex:1 1 auto;
  overflow:auto;
  padding-right:12px;
}

.field-page .visit-screen .property-list-body::-webkit-scrollbar{
  width:10px;
}

.field-page .visit-screen .property-list-body::-webkit-scrollbar-thumb{
  background:#cbd7d1;
  border-radius:999px;
  border:2px solid #f8fbf9;
}

.field-page .visit-screen .property-result-card{
  padding:14px 16px;
  border-radius:16px;
}

.field-page .visit-screen .property-result-card::before{
  width:5px;
}

.field-page .visit-screen .property-card-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 196px;
  gap:14px;
  align-items:center;
}

.field-page .visit-screen .property-card-copy{
  min-width:0;
}

.field-page .visit-screen .property-card-title{
  padding-left:0;
  font-size:1.04rem;
  line-height:1.2;
}

.field-page .visit-screen .property-card-statusline{
  gap:6px;
  margin-top:6px;
}

.field-page .visit-screen .status-cell{
  min-height:29px;
  padding:5px 8px;
  font-size:.77rem;
}

.field-page .visit-screen .property-card-mainline,
.field-page .visit-screen .property-card-subline,
.field-page .visit-screen .property-card-territory{
  margin:5px 0 0 0;
  -webkit-line-clamp:unset;
}

.field-page .visit-screen .property-card-mainline{
  font-size:.88rem;
}

.field-page .visit-screen .property-card-subline,
.field-page .visit-screen .property-card-territory{
  font-size:.82rem;
  line-height:1.32;
}

.field-page .visit-screen .property-result-card .meta-pills{
  gap:6px;
  margin-top:7px;
}

.field-page .visit-screen .property-result-card .meta-pill,
.field-page .visit-screen .property-result-card .status-pill{
  min-height:29px;
  padding:5px 8px;
  font-size:.76rem;
}

.field-page .visit-screen .property-card-actions-side{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  align-self:stretch;
}

.field-page .visit-screen .property-card-actions-side .btn{
  width:100%;
  min-width:0;
  min-height:42px;
  border-radius:12px;
  font-size:.92rem;
  font-weight:800;
}

.field-page .visit-screen .property-card-actions-side .btn-primary{
  box-shadow:none;
}

.field-page .visit-screen .property-card-actions-side .btn-warn{
  background:#fff;
  border-color:#cfe0d7;
  color:#2c5a44;
}

@media (max-width: 980px){
  .field-page .topbar-v43 .topbar-row,
  .field-page .nav-tabs.nav-tabs-v43,
  .field-page main{
    max-width:100%;
  }

  .field-page .visit-screen .property-list{
    height:calc(100vh - 340px);
    min-height:360px;
  }

  .field-page .visit-screen .property-card-row{
    grid-template-columns:minmax(0,1fr);
  }

  .field-page .visit-screen .property-card-actions-side{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .field-page .topbar-v43 .topbar-row{padding:16px 14px 12px;}
  .field-page .nav-tabs.nav-tabs-v43{padding:0 14px 14px;}
  .field-page main{padding:0 14px 24px;}
  .field-page .visit-screen .property-list{height:auto; min-height:0; max-height:none;}
  .field-page .visit-screen .property-list-body{overflow:visible; padding-right:0;}
  .field-page .visit-screen .property-card-actions-side{grid-template-columns:minmax(0,1fr);} 
}


/* =========================================================
   INDEX V.48 - corrige elementos sobrepondo títulos e stepper
   ========================================================= */
.field-page .visit-screen .visit-step-chip::before,
.field-page .visit-screen .visit-step-chip::after{
  content:none;
  display:none;
}

.field-page .visit-screen .visit-card .section-title::before,
.field-page .visit-screen .visit-card .section-title::after,
.field-page .visit-screen .visit-foldout summary::before,
.field-page .visit-screen .visit-foldout summary::after{
  content:none;
  display:none;
}

.field-page .visit-screen .visit-card .section-title,
.field-page .visit-screen .visit-foldout summary{
  padding-left:0;
}

.field-page .visit-screen .visit-step-chip{
  position:relative;
}

.field-page .visit-screen .visit-step-chip__body{
  min-width:0;
}

.field-page .visit-screen .visit-step-chip__number{
  position:relative;
  z-index:1;
}

.field-page .visit-screen .visit-property-card .section-title,
.field-page .visit-screen .visit-property-browser-card .section-title{
  display:block;
}


/* =========================================================
   INDEX V.49 - stepper das visitas mais baixo
   ========================================================= */
.field-page .visit-screen .visit-wizard{
  padding: 10px 12px;
  border-radius: 18px;
}

.field-page .visit-screen .visit-wizard-steps{
  gap: 10px;
}

.field-page .visit-screen .visit-step-chip{
  min-height: 82px;
  padding: 10px 12px;
  border-radius: 16px;
}

.field-page .visit-screen .visit-step-chip__number{
  width: 40px;
  height: 40px;
  font-size: 1.02rem;
}

.field-page .visit-screen .visit-step-chip__body{
  gap: 2px;
}

.field-page .visit-screen .visit-step-chip small{
  margin-bottom: 2px;
  font-size: .72rem;
}

.field-page .visit-screen .visit-step-chip strong{
  margin: 0;
  font-size: 1rem;
  line-height: 1.1;
}

.field-page .visit-screen .visit-step-chip span:last-child{
  margin-top: 1px;
  font-size: .81rem;
  line-height: 1.2;
}

@media (max-width: 980px){
  .field-page .visit-screen .visit-step-chip{
    min-height: 76px;
    padding: 9px 11px;
  }
  .field-page .visit-screen .visit-step-chip__number{
    width: 36px;
    height: 36px;
    font-size: .96rem;
  }
  .field-page .visit-screen .visit-step-chip strong{
    font-size: .94rem;
  }
  .field-page .visit-screen .visit-step-chip span:last-child{
    font-size: .78rem;
  }
}

@media (max-width: 720px){
  .field-page .visit-screen .visit-wizard{
    padding: 8px;
  }
  .field-page .visit-screen .visit-step-chip{
    min-height: 70px;
    padding: 8px 10px;
    border-radius: 14px;
  }
  .field-page .visit-screen .visit-step-chip__number{
    width: 34px;
    height: 34px;
    font-size: .9rem;
  }
  .field-page .visit-screen .visit-step-chip small{
    font-size: .68rem;
  }
  .field-page .visit-screen .visit-step-chip strong{
    font-size: .9rem;
  }
  .field-page .visit-screen .visit-step-chip span:last-child{
    font-size: .75rem;
  }
}


/* v50 - ajustes finos na etapa 1 das visitas */
.visit-screen .property-query-actions{
  display:grid;
  grid-template-columns:minmax(260px, 1.2fr) repeat(2, minmax(180px, .55fr));
  align-items:center;
  gap:12px;
}

.visit-screen .property-query-summary{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:58px;
  padding:10px 14px;
  border:1px solid rgba(24,60,44,.12);
  border-radius:16px;
  background:linear-gradient(180deg,#f8fcf9,#edf5f0);
}

.visit-screen .property-query-summary strong{
  color:var(--brand-900);
  font-size:1rem;
  line-height:1.1;
}

.visit-screen .property-query-summary span{
  margin-top:4px;
  color:#5f6c65;
  font-size:.9rem;
  line-height:1.2;
}

.visit-screen .property-query-actions .btn{
  min-height:58px;
  border-radius:16px;
  font-weight:800;
}

.visit-screen .property-query-actions #refreshPropertiesBtn,
.visit-screen .property-query-actions #captureGpsBtn{
  color:#fff;
  border-color:#1f6a44;
  background:linear-gradient(180deg,#2f7a52,#226643);
  box-shadow:0 10px 18px rgba(28,84,56,.14);
}

.visit-screen .property-query-actions #refreshPropertiesBtn:hover,
.visit-screen .property-query-actions #captureGpsBtn:hover{
  border-color:#195236;
  background:linear-gradient(180deg,#2a704b,#1f5f3f);
}

.visit-screen .property-list-head{
  gap:0;
}

.visit-screen .property-list-head::after,
.visit-screen .property-list-head-top,
.visit-screen .property-list-meta{
  display:none;
}

.visit-screen .property-list-head{
  padding:12px 14px 8px;
}

@media (max-width: 980px){
  .visit-screen .property-query-actions{
    grid-template-columns:1fr 1fr;
  }
  .visit-screen .property-query-summary{
    grid-column:1 / -1;
    min-height:auto;
  }
}

@media (max-width: 640px){
  .visit-screen .property-query-actions{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   INDEX V.52 - refinamento visual da aba painel
   ========================================================= */
.field-page #screen-painel{
  padding-top:14px;
}

.field-page #screen-painel .screen-head{
  margin-bottom:18px;
  border-radius:20px;
  border:1px solid rgba(24,60,44,.10);
  border-left:6px solid #2f7a52;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
  box-shadow:0 16px 30px rgba(24,60,44,.06);
  padding:16px 18px;
}

.field-page #screen-painel .screen-head-copy strong{
  font-size:1.36rem;
}

.field-page #screen-painel .screen-head-copy span{
  font-size:.96rem;
  color:#68746d;
}

.field-page #screen-painel .hero-grid{
  gap:16px;
  margin-bottom:18px;
}

.field-page #screen-painel .hero-card{
  border:1px solid rgba(24,60,44,.10);
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%);
  box-shadow:0 14px 28px rgba(24,60,44,.05);
  padding:16px 18px;
}

.field-page #screen-painel .hero-card small{
  font-size:.86rem;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.field-page #screen-painel .hero-card strong{
  margin-top:8px;
  font-size:2rem;
}

.field-page #screen-painel .hero-card span{
  margin-top:6px;
  color:#61706a;
}

.field-page #screen-painel .card{
  border:1px solid rgba(24,60,44,.10);
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%);
  box-shadow:0 16px 30px rgba(24,60,44,.05);
  padding:20px;
}

.field-page #screen-painel .section-title{
  margin-bottom:14px;
}

.field-page #screen-painel .metric-grid{
  gap:14px;
}

.field-page #screen-painel .metric-card{
  border-radius:18px;
  min-height:102px;
  border:1px solid rgba(24,60,44,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfa 100%);
  box-shadow:none;
}

.field-page #screen-painel .metric-card strong{
  font-size:1.88rem;
}

.field-page #screen-painel .grid.two{
  gap:18px;
  align-items:start;
}

.field-page #screen-painel #localDepositSummary,
.field-page #screen-painel #localRecommendations{
  display:grid;
  gap:12px;
}

.field-page #screen-painel .ranking-card,
.field-page #screen-painel .mail-report-card{
  border-radius:16px;
  border:1px solid rgba(24,60,44,.08);
  background:linear-gradient(180deg,#fbfcfb 0%,#f6faf8 100%);
  box-shadow:none;
}

.field-page #screen-painel .mail-report-card{
  padding:14px 16px;
}

.field-page #screen-painel .mail-report-card--mini .mail-report-meta{
  margin-bottom:6px;
  color:#2b6b48;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.field-page #screen-painel .mail-report-card--mini p{
  margin:0;
  color:#33413a;
  line-height:1.55;
}

.field-page #screen-painel .dashboard-day-actions{
  gap:12px;
}

.field-page #screen-painel .dashboard-day-actions .btn{
  min-height:54px;
  border-radius:16px;
  font-weight:800;
}

.field-page #screen-painel .panel-agent-visits-card .table-wrap{
  border:1px solid rgba(24,60,44,.08);
  border-radius:16px;
  max-height:460px;
  overflow:auto;
}

.field-page #screen-painel .panel-agent-visits-card thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f4f8f6;
}

.field-page #screen-painel .panel-agent-visits-card tbody tr:hover{
  background:#f8fbf9;
}

@media (max-width: 760px){
  .field-page #screen-painel .screen-head{
    padding:14px 14px;
  }

  .field-page #screen-painel .hero-card,
  .field-page #screen-painel .card{
    padding:16px;
  }

  .field-page #screen-painel .panel-agent-visits-card .table-wrap{
    max-height:380px;
  }
}


/* =========================================================
   INDEX V.53 - barra superior e stepper fixos e mais compactos
   ========================================================= */
.field-page .topbar.topbar-v43{
  position:sticky;
  top:0;
  z-index:90;
}

.field-page .topbar-v43 .topbar-row{
  padding:14px 22px 10px;
  gap:14px;
}



.field-page .topbar-v43 .brand-mark{
  width:48px;
  height:48px;
  border-radius:16px;
}

.field-page .topbar-v43 .brand-copy h1{
  font-size:1.14rem;
}

.field-page .topbar-v43 .brand-copy p{
  margin-top:2px;
  font-size:.92rem;
}



.field-page .topbar-v43 .chip{
  min-height:48px;
  padding:0 18px;
  border-radius:13px;
  font-size:.94rem;
}

.field-page .topbar-v43 .chip-icon{
  width:48px;
}

.field-page .nav-tabs.nav-tabs-v43{
  padding:0 22px 10px;
  gap:10px;
}

.field-page .nav-tabs-v43 .tab-btn{
  min-width:124px;
  min-height:46px;
  padding:0 16px;
  border-radius:13px;
  font-size:.96rem;
}

.field-page main{
  margin:8px auto 0;
}

.field-page .visit-screen,
.field-page #screen-painel{
  padding-top:0;
}

.field-page .visit-screen .visit-wizard{
  position:sticky;
  top:102px;
  z-index:80;
  margin-top:0;
  margin-bottom:10px;
  padding:6px 0 0;
  border-radius:0;
  background:transparent;
}

.field-page .visit-screen .visit-wizard-steps{
  gap:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(14,39,28,.06);
}

.field-page .visit-screen .visit-step-chip{
  min-height:72px;
  padding:10px 14px 10px 56px;
  border-right:1px solid #e4ebe7;
  border-radius:0;
}

.field-page .visit-screen .visit-step-chip:last-child{
  border-right:none;
}

.field-page .visit-screen .visit-step-chip::before{
  display:none;
  content:none;
}

.field-page .visit-screen .visit-step-chip__number{
  position:absolute;
  left:14px;
  top:12px;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1.5px solid #d6e3dc;
  background:#fff;
  color:#4f6358;
  font-size:.96rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

.field-page .visit-screen .visit-step-chip__body{
  gap:1px;
}

.field-page .visit-screen .visit-step-chip__mobile-label{
  display:none;
}

.field-page .visit-screen .visit-step-chip small{
  margin:0 0 1px;
  font-size:.70rem;
  letter-spacing:.03em;
}

.field-page .visit-screen .visit-step-chip strong{
  margin:0;
  font-size:.98rem;
  line-height:1.08;
}

.field-page .visit-screen .visit-step-chip span{
  margin-top:1px;
  font-size:.80rem;
  line-height:1.18;
}

.field-page .visit-screen .visit-step-chip.is-active .visit-step-chip__number{
  border-color:rgba(255,255,255,.28);
  background:#fff;
  color:#1f6b3f;
}

.field-page .visit-screen .visit-step-chip.is-done .visit-step-chip__number{
  border-color:#2f7a52;
  background:#2f7a52;
  color:#fff;
}

@media (max-width: 980px){
  .field-page .topbar-v43 .topbar-row{
    padding:12px 16px 8px;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding:0 16px 8px;
  }

  .field-page .topbar-v43 .chip{
    min-height:44px;
    padding:0 14px;
    font-size:.9rem;
  }

  .field-page .topbar-v43 .chip-icon{
    width:44px;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:112px;
    min-height:44px;
    padding:0 14px;
  }

  .field-page .visit-screen .visit-wizard{
    top:94px;
    margin-bottom:8px;
    padding-top:2px;
  }

  .field-page .visit-screen .visit-wizard-steps{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 0 2px;
    border-radius:0;
    box-shadow:none;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .field-page .visit-screen .visit-wizard-steps::-webkit-scrollbar{
    display:none;
  }

  .field-page .visit-screen .visit-step-chip{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:138px;
    min-height:46px;
    padding:7px 10px;
    border:1px solid #dfe7e2;
    border-right:1px solid #dfe7e2;
    border-radius:14px;
    scroll-snap-align:start;
  }

  .field-page .visit-screen .visit-step-chip__number{
    position:static;
    left:auto;
    top:auto;
    width:24px;
    height:24px;
    flex:0 0 24px;
    font-size:.74rem;
    border-width:1px;
  }

  .field-page .visit-screen .visit-step-chip__mobile-label{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#243630;
    font-size:.74rem;
    font-weight:800;
    line-height:1.15;
    white-space:nowrap;
  }

  .field-page .visit-screen .visit-step-chip__body{
    display:none;
  }

  .field-page .visit-screen .visit-step-chip.is-active .visit-step-chip__mobile-label{
    color:#fff;
  }
}

@media (max-width: 760px){
  .field-page .visit-screen .visit-wizard{
    top:88px;
    margin-bottom:8px;
    padding-top:2px;
  }

  .field-page .visit-screen .visit-wizard-steps{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 0 2px;
    border-radius:0;
    box-shadow:none;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
.field-page .visit-screen .visit-step-chip{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:134px;
    min-height:46px;
    padding:7px 10px;
    border:1px solid #dfe7e2;
    border-right:1px solid #dfe7e2;
    border-radius:14px;
    scroll-snap-align:start;
  }

  .field-page .visit-screen .visit-step-chip__number{
    position:static;
    left:auto;
    top:auto;
    width:24px;
    height:24px;
    flex:0 0 24px;
    font-size:.74rem;
    border-width:1px;
  }

  .field-page .visit-screen .visit-step-chip__mobile-label{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#243630;
    font-size:.74rem;
    font-weight:800;
    line-height:1.15;
    white-space:nowrap;
  }

  .field-page .visit-screen .visit-step-chip__body{
    display:none;
  }

  .field-page .visit-screen .visit-step-chip.is-active .visit-step-chip__mobile-label{
    color:#fff;
  }
}


/* =========================================================
   INDEX V.54 - aba painel com paleta mais sóbria em verde
   ========================================================= */
.field-page #screen-painel .hero-card,
.field-page #screen-painel .hero-card.is-focus,
.field-page #screen-painel .hero-card.is-accent,
.field-page #screen-painel .hero-card.is-warn{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
  border:1px solid rgba(24,60,44,.10);
}

.field-page #screen-painel .hero-card::before,
.field-page #screen-painel .hero-card.is-focus::before,
.field-page #screen-painel .hero-card.is-accent::before,
.field-page #screen-painel .hero-card.is-warn::before{
  background:linear-gradient(90deg,#2f7a52,#3e8b61);
}

.field-page #screen-painel .hero-card strong,
.field-page #screen-painel .hero-card.is-focus strong,
.field-page #screen-painel .hero-card.is-accent strong,
.field-page #screen-painel .hero-card.is-warn strong{
  color:#1e5f3c;
}

.field-page #screen-painel .metric-card,
.field-page #screen-painel .metric-card[class*="is-"]{
  border-left:5px solid #2f7a52;
  border-color:rgba(24,60,44,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%);
}

.field-page #screen-painel .metric-card strong,
.field-page #screen-painel .metric-card[class*="is-"] strong{
  color:#1f6b3f;
}

.field-page #screen-painel .metric-card small,
.field-page #screen-painel .metric-card span,
.field-page #screen-painel .hero-card small,
.field-page #screen-painel .hero-card span{
  color:#61706a;
}

.field-page #screen-painel .ranking-card,
.field-page #screen-painel .mail-report-card,
.field-page #screen-painel .panel-agent-visits-card .table-wrap{
  border-color:rgba(24,60,44,.10);
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
}

.field-page #screen-painel .section-title,
.field-page #screen-painel .mail-report-card--mini .mail-report-meta{
  color:#1f6b3f;
}


/* =========================================================
   INDEX V.55 - estados selecionados legíveis e ranking verde
   ========================================================= */
.field-page .visit-screen .choice-btn,
.field-page .visit-screen .choice-btn span{
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.field-page .visit-screen .choice-btn.active.choice-btn-open,
.field-page .visit-screen .choice-btn.active.choice-btn-yes{
  border:2px solid #2f7a52;
  background:linear-gradient(180deg,#f5fbf7 0%,#eef7f1 100%);
  color:#1f6b3f;
  box-shadow:0 0 0 3px rgba(47,122,82,.10);
}

.field-page .visit-screen .choice-btn.active.choice-btn-closed,
.field-page .visit-screen .choice-btn.active.choice-btn-no{
  border:2px solid #c86a57;
  background:linear-gradient(180deg,#fff8f6 0%,#fff0ec 100%);
  color:#a84b39;
  box-shadow:0 0 0 3px rgba(200,106,87,.10);
}

.field-page .visit-screen .choice-btn.active.choice-btn-recovered{
  border:2px solid #5a84d9;
  background:linear-gradient(180deg,#f7faff 0%,#eef3ff 100%);
  color:#365eaf;
  box-shadow:0 0 0 3px rgba(90,132,217,.10);
}

.field-page .visit-screen .choice-btn.active.choice-btn-open span,
.field-page .visit-screen .choice-btn.active.choice-btn-yes span{
  color:#3f6c55;
}

.field-page .visit-screen .choice-btn.active.choice-btn-closed span,
.field-page .visit-screen .choice-btn.active.choice-btn-no span{
  color:#8f5d52;
}

.field-page .visit-screen .choice-btn.active.choice-btn-recovered span{
  color:#5a6f9f;
}

.field-page #screen-painel .deposit-report-card.is-focus{
  border-color:rgba(47,122,82,.18);
  background:linear-gradient(180deg,#f8fbf9 0%,#f1f7f3 100%);
}

.field-page #screen-painel .deposit-report-card .deposit-report-code,
.field-page #screen-painel .deposit-report-card.is-focus .deposit-report-code{
  background:#edf7f1;
  color:#1f6b3f;
}

.field-page #screen-painel .deposit-report-card .rank-row,
.field-page #screen-painel .deposit-report-card.is-focus .rank-row{
  color:#1f6b3f;
}

.field-page #screen-painel .deposit-report-card .bar-fill,
.field-page #screen-painel .deposit-report-card .bar-fill.is-danger,
.field-page #screen-painel .deposit-report-card .bar-fill.is-accent,
.field-page #screen-painel .deposit-report-card .bar-fill.is-warn{
  background:linear-gradient(90deg,#2f7a52,#4a9a6b);
}


/* =========================================================
   MOBILE TUNE - app de campo e painel sem alterar funcionalidade
   ========================================================= */
body.field-page,
body.dashboard-page.dashboard-layout-v3{
  overflow-x:hidden;
}

.dashboard-layout-v3 .panel-shell-v3,
.dashboard-layout-v3 .panel-main-v3,
.dashboard-layout-v3 .panel-workspace-v3,
.dashboard-layout-v3 .panel-view,
.dashboard-layout-v3 .panel-view-fixed,
.dashboard-layout-v3 .panel-scroll-box,
.dashboard-layout-v3 .panel-scroll-box-inner{
  min-width:0;
  max-width:100%;
}

@media (max-width: 1024px){
  .field-page .topbar.topbar-v43{
    border-radius:0 0 18px 18px;
  }

  .field-page .topbar-v43 .topbar-row{
    padding:12px 16px 8px;
    gap:12px;
    align-items:flex-start;
  }

  .field-page .topbar-v43 .topbar-main{
    gap:12px;
    align-items:flex-start;
  }

  .field-page .topbar-v43 .brand-mark{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:1rem;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:1.08rem;
    line-height:1.16;
  }

  .field-page .topbar-v43 .brand-copy p{
    margin-top:2px;
    font-size:.82rem;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .field-page .topbar-v43 .chip{
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    font-size:.84rem;
  }

  .field-page .topbar-v43 .chip-icon{
    width:42px;
    min-width:42px;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding:0 16px 12px;
    gap:8px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    overflow:visible;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:0;
    min-height:42px;
    padding:0 10px;
    border-radius:12px;
    font-size:.86rem;
  }

  .field-page .nav-tabs-v43 .tab-btn__label{
    line-height:1.1;
    text-align:center;
  }

  .field-page main{
    margin:10px auto 0;
    padding:0 16px 20px;
  }

  .field-page .visit-screen .visit-wizard{
    top:88px;
  }
}

@media (max-width: 760px){
  .field-page .login-shell{
    min-height:100svh;
    align-items:flex-start;
    justify-content:center;
    padding:clamp(28px, 8vh, 72px) 14px 24px;
  }

  .field-page .login-card{
    width:min(100%, 360px);
    padding:16px 16px 18px;
    border-radius:18px;
  }

  .field-page .login-card .brand-mark{
    display:none;
  }

  .field-page .login-card h1{
    font-size:1.28rem;
  }

  .field-page .login-card p{
    margin:6px 0 12px;
    font-size:.84rem;
  }

  .field-page .login-card input,
  .field-page .login-card select{
    min-height:46px;
    font-size:.94rem;
  }

  .field-page .login-actions .btn{
    min-height:46px;
    font-size:.92rem;
  }

  .field-page .topbar.topbar-v43{
    border-radius:0 0 16px 16px;
    box-shadow:0 10px 24px rgba(10,39,24,.16);
  }

  .field-page .topbar-v43 .topbar-row{
    padding:10px 12px 6px;
    gap:10px;
    align-items:flex-start;
  }

  .field-page .topbar-v43 .topbar-main{
    gap:0;
    align-items:flex-start;
  }
.field-page .topbar-v43 .brand-copy{
    gap:0;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:1rem;
    line-height:1.15;
  }

  .field-page .topbar-v43 .brand-copy p{
    display:none;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .field-page .topbar-v43 .chip{
    min-height:38px;
    padding:0 12px;
    border-radius:12px;
    font-size:.78rem;
  }

  .field-page .topbar-v43 .chip-icon{
    width:38px;
    min-width:38px;
    padding:0;
    font-size:1rem;
  }

  .field-page .topbar-v43 .chip-logout{
    min-width:72px;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding:0 12px 10px;
    gap:8px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    overflow:visible;
  }
.field-page .nav-tabs-v43 .tab-btn__label{
    line-height:1.1;
    text-align:center;
  }

  .field-page main{
    margin:8px auto 0;
    padding:0 12px 18px;
  }

  .field-page .visit-screen .visit-wizard{
    top:72px;
    margin-bottom:8px;
  }

  .field-page .visit-screen .visit-card{
    padding:16px 14px;
  }

  .field-page #syncStatus{
    right:10px;
    bottom:10px;
    min-height:40px;
    padding:0 12px;
    border-radius:12px;
    font-size:.78rem;
  }
}

@media (max-width: 420px){
  .field-page .topbar-v43 .topbar-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .chip-icon{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  .field-page .visit-screen .visit-wizard{
    top:70px;
  }
}

@media (max-width: 1120px){
  .dashboard-layout-v3 .panel-shell-v3{
    display:block;
    min-height:auto;
  }

  .dashboard-layout-v3 .app-sidebar{
    position:static;
    min-height:auto;
    padding:12px 12px 10px;
    box-shadow:none;
  }

  .dashboard-layout-v3 .app-sidebar__brand-card{
    margin-bottom:10px;
    padding:10px 12px;
    border-radius:14px;
  }

  .dashboard-layout-v3 .app-sidebar__brand-logo{
    max-width:120px;
  }

  .dashboard-layout-v3 .app-sidebar__nav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }

  .dashboard-layout-v3 .app-sidebar__nav::-webkit-scrollbar{
    display:none;
  }

  .dashboard-layout-v3 .sidebar-divider,
  .dashboard-layout-v3 .app-sidebar__footer{
    display:none;
  }

  .dashboard-layout-v3 .sidebar-tab{
    flex:0 0 auto;
    min-height:40px;
    padding:0 12px;
    border-radius:12px;
    gap:8px;
    font-size:.82rem;
    white-space:nowrap;
  }

  .dashboard-layout-v3 .sidebar-tab__icon{
    width:auto;
    min-width:0;
    font-size:.9rem;
  }

  .dashboard-layout-v3 .panel-main-v3{
    padding:10px 10px 18px;
  }

  .dashboard-layout-v3 .topbar-v3{
    gap:10px;
  }

  .dashboard-layout-v3 .topbar-v3__title-row{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
    border-radius:16px;
  }

  .dashboard-layout-v3 .topbar-v3__menu-btn{
    display:none;
  }

  .dashboard-layout-v3 .topbar-v3__copy{
    padding-top:0;
  }

  .dashboard-layout-v3 .topbar-v3__copy h1{
    font-size:1.08rem;
    line-height:1.18;
  }

  .dashboard-layout-v3 .topbar-v3__copy p{
    margin-top:4px;
    font-size:.8rem;
    line-height:1.35;
  }

  .dashboard-layout-v3 .topbar-v3__widgets{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .dashboard-layout-v3 .header-widget-v3{
    min-height:48px;
    padding:10px 12px;
    border-radius:14px;
    gap:8px;
  }

  .dashboard-layout-v3 .header-widget-v3__icon{
    width:22px;
    height:22px;
    font-size:.72rem;
  }

  .dashboard-layout-v3 .header-widget-v3__copy strong{
    font-size:.74rem;
  }

  .dashboard-layout-v3 .header-widget-v3__copy span{
    font-size:.64rem;
  }

  .dashboard-layout-v3 .panel-shell-card-v3{
    padding:12px;
    border-radius:16px;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 .field,
  .dashboard-layout-v3 .field-search-v3--wide,
  .dashboard-layout-v3 .field-button-v6{
    grid-column:auto;
  }

  .dashboard-layout-v3 .field-button-v6 .label-spacer{
    display:none;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 input,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 select{
    min-height:42px;
    font-size:.88rem;
    border-radius:10px;
  }

  .dashboard-layout-v3 .field-button-v6 .btn{
    min-height:42px;
    font-size:.84rem;
  }

  .dashboard-layout-v3 .panel-workspace-v3{
    padding-top:10px;
  }

  .dashboard-layout-v3 .panel-view.panel-view-split,
  .dashboard-layout-v3 .panel-view.panel-view-split.is-active,
  .dashboard-layout-v3 [data-panel-view-content="indicators"].panel-view-split,
  .dashboard-layout-v3 [data-panel-view-content="visits"].panel-view-split,
  .dashboard-layout-v3 [data-panel-view-content="reports"].panel-view-split,
  .dashboard-layout-v3 [data-panel-view-content="map"].panel-view-split{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }

  .dashboard-layout-v3 .panel-view-split .panel-view-fixed,
  .dashboard-layout-v3 [data-panel-view-content="visits"] .panel-view-fixed,
  .dashboard-layout-v3 [data-panel-view-content="reports"] .panel-view-fixed,
  .dashboard-layout-v3 [data-panel-view-content="indicators"] .panel-view-fixed{
    position:static;
    top:auto;
  }

  .dashboard-layout-v3 .panel-scroll-box,
  .dashboard-layout-v3 .panel-scroll-box-report{
    max-height:none;
    overflow:visible;
  }

  .dashboard-layout-v3 .panel-scroll-box-inner{
    display:grid;
    gap:12px;
  }

  .dashboard-layout-v3 .panel-side-grid,
  .dashboard-layout-v3 .panel-report-analysis-grid{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .card{
    padding:14px 14px 16px;
  }

  .dashboard-layout-v3 .section-title{
    font-size:.96rem;
  }

  .dashboard-layout-v3 .panel-report-actions-fixed .btn-row,
  .dashboard-layout-v3 .panel-report-actions-fixed .panel-report-actions{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .table-wrap,
  .dashboard-layout-v3 .consolidated-visits-card .table-wrap{
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }

  .dashboard-layout-v3 .panel-map-card .map-shell,
  .dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card .map-shell,
  .dashboard-page .map-shell{
    min-height:320px;
    height:320px;
  }
}

@media (max-width: 760px){
  .dashboard-layout-v3 .app-sidebar__nav{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    overflow:visible;
  }

  .dashboard-layout-v3 .sidebar-tab{
    min-width:0;
    white-space:normal;
    justify-content:center;
    text-align:center;
    padding:10px 8px;
    min-height:44px;
  }

  .dashboard-layout-v3 .sidebar-tab span:last-child{
    line-height:1.12;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3{
    grid-template-columns:1fr;
  }
.dashboard-layout-v3 .header-widget-v3--profile{
    display:none;
  }
}

@media (max-width: 560px){
}

/* Placeholder visual da marca na lateral do painel */
.dashboard-layout-v3 .app-sidebar__brand-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:190px;
  min-height:56px;
  border-radius:12px;
  border:1px dashed rgba(12,65,45,.25);
  background:linear-gradient(180deg,#f8fbf9,#edf4f0);
  color:#0c412d;
  font-weight:800;
  font-size:1rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* =========================================================
   MOBILE UX V4 - profundidade visual sem alterar lógica
   ========================================================= */
.dashboard-layout-v3 .panel-filter-drawer{
  display:block;
}

.dashboard-layout-v3 .panel-filter-drawer > summary{
  display:none;
}

.dashboard-layout-v3 .panel-filter-drawer > summary::-webkit-details-marker{
  display:none;
}

.field-page button,
.field-page .btn,
.dashboard-layout-v3 button,
.dashboard-layout-v3 .btn,
.field-page .chip,
.dashboard-layout-v3 .chip{
  touch-action:manipulation;
}

@media (max-width: 1024px){
  .field-page .topbar.topbar-v43{
    border-radius:0 0 14px 14px;
  }

  .field-page .topbar-v43 .topbar-row{
    padding:10px 14px 6px;
    gap:10px;
    align-items:flex-start;
  }

  .field-page .topbar-v43 .topbar-main{
    gap:10px;
  }

  .field-page .topbar-v43 .brand-mark{
    width:34px;
    height:34px;
    border-radius:10px;
    font-size:.92rem;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:clamp(1rem, 2.5vw, 1.16rem);
  }

  .field-page .topbar-v43 .brand-copy p{
    margin-top:2px;
    font-size:.78rem;
    opacity:.92;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:8px;
  }

  .field-page .topbar-v43 .chip{
    min-height:40px;
    min-width:0;
    width:100%;
    padding:0 8px;
    justify-content:center;
    font-size:.76rem;
    border-radius:11px;
  }

  .field-page .topbar-v43 .chip-icon{
    width:100%;
    min-width:0;
    font-size:1rem;
  }

  .field-page .topbar-v43 .chip-logout{
    min-width:0;
  }

  .field-page main{
    margin:8px auto 0;
    padding:0 14px 22px;
  }

  .field-page .card{
    border-radius:16px;
  }

  .field-page .visit-screen .visit-card{
    padding:14px 12px;
  }

  .field-page .grid.two,
  .field-page .grid.three{
    grid-template-columns:1fr;
  }

  .field-page .property-form-grid{
    grid-template-columns:1fr;
  }

  .field-page .property-query-actions,
  .field-page .property-form-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .field-page .property-query-actions .btn,
  .field-page .property-form-actions .btn{
    min-height:42px;
    font-size:.86rem;
    padding:0 10px;
  }

  .field-page input,
  .field-page select,
  .field-page textarea{
    min-height:44px;
    font-size:.92rem;
    border-radius:11px;
  }

  .field-page textarea{
    min-height:108px;
  }

  .field-page .visit-screen .visit-wizard{
    top:70px;
  }

  .field-page #syncStatus{
    right:12px;
    bottom:12px;
    min-height:38px;
    padding:0 11px;
    border-radius:11px;
    font-size:.74rem;
  }

  .dashboard-layout-v3 .topbar-v3{
    position:sticky;
    top:0;
    z-index:60;
  }

  .dashboard-layout-v3 .topbar-v3__title-row{
    border-radius:0 0 16px 16px;
  }

  .dashboard-layout-v3 .panel-shell-card-v3{
    border-radius:14px;
    padding:10px;
  }

  .dashboard-layout-v3 .panel-filter-drawer{
    border:1px solid #d2e1d8;
    border-radius:12px;
    background:#ffffff;
    overflow:hidden;
  }

  .dashboard-layout-v3 .panel-filter-drawer[open] > .panel-filter-toolbar-v3{
    padding:10px;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 input,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 select{
    min-height:40px;
    border-radius:10px;
    font-size:.83rem;
  }

  .dashboard-layout-v3 .field-button-v6 .btn{
    min-height:42px;
  }

  .dashboard-layout-v3 .panel-main-v3{
    padding:10px 10px 18px;
  }

  .dashboard-layout-v3 .metric-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .dashboard-layout-v3 .metric-card{
    min-height:82px;
    border-radius:11px;
  }

  .dashboard-layout-v3 .metric-card strong{
    font-size:1.14rem;
  }

  .dashboard-layout-v3 .visit-list-item{
    border-radius:12px;
    padding:10px;
  }

  .dashboard-layout-v3 .visit-list-item__status{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px 10px;
  }
}

@media (max-width: 760px){
  .field-page .topbar.topbar-v43{
    position:sticky;
    top:0;
    z-index:120;
    overflow:visible;
    border-radius:0 0 12px 12px;
  }

  .field-page .topbar-v43 .topbar-row{
    padding:9px 10px 4px;
  }

  .field-page .topbar-v43 .brand-mark,
  .field-page .topbar-v43 .brand-copy p{
    display:none;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:.96rem;
    line-height:1.14;
  }

  .field-page .topbar-v43 .topbar-actions{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:6px;
  }

  .field-page .topbar-v43 .chip{
    min-height:36px;
    min-width:0;
    width:100%;
    border-radius:10px;
    font-size:.74rem;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    position:fixed;
    left:4px;
    right:4px;
    bottom:0;
    box-sizing:border-box;
    margin:0;
    padding:8px 6px calc(8px + env(safe-area-inset-bottom));
    background:rgba(11,73,42,.98);
    border-top:1px solid rgba(255,255,255,.16);
    box-shadow:0 -12px 24px rgba(8,31,21,.24);
    z-index:140;
    display:flex;
    align-items:stretch;
    max-width:none;
    overflow:hidden;
    gap:6px;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    display:flex;
    flex:1 1 0;
    box-sizing:border-box;
    justify-self:auto;
    min-width:0;
    width:100%;
    min-height:44px;
    padding:0 8px;
    border-radius:12px;
    font-size:.8rem;
    line-height:1.1;
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.2);
  }

  .field-page .nav-tabs-v43 .tab-btn__label{
    display:block;
    width:100%;
    text-align:center;
  }

  .field-page .nav-tabs-v43 .tab-btn.active{
    background:rgba(255,255,255,.2);
    box-shadow:none;
  }

  .field-page main{
    padding:0 10px calc(98px + env(safe-area-inset-bottom));
  }

  .field-page .visit-screen .visit-wizard{
    top:58px;
    z-index:95;
  }

  .field-page .visit-final-actions{
    position:sticky;
    bottom:calc(88px + env(safe-area-inset-bottom));
    z-index:35;
    margin-top:12px;
    padding:10px;
    border-radius:12px;
    border:1px solid #d8e4dc;
    background:#ffffff;
    box-shadow:0 8px 16px rgba(12,40,28,.08);
  }

  .field-page .visit-final-actions .btn,
  .field-page .dashboard-day-actions .btn,
  .field-page .property-form-actions .btn,
  .field-page .property-query-actions .btn{
    width:100%;
  }

  .field-page .property-query-actions,
  .field-page .property-form-actions,
  .field-page .dashboard-day-actions{
    grid-template-columns:1fr;
  }

  .field-page #syncStatus{
    bottom:calc(72px + env(safe-area-inset-bottom));
    right:8px;
    font-size:.72rem;
  }

  .field-page .panel-agent-visits-table{
    border:none;
    background:transparent;
    box-shadow:none;
  }

  .field-page .panel-agent-visits-table table,
  .field-page .panel-agent-visits-table thead,
  .field-page .panel-agent-visits-table tbody,
  .field-page .panel-agent-visits-table tr,
  .field-page .panel-agent-visits-table th,
  .field-page .panel-agent-visits-table td{
    display:block;
    width:100%;
  }

  .field-page .panel-agent-visits-table thead{
    display:none;
  }

  .field-page .panel-agent-visits-table tbody{
    display:grid;
    gap:8px;
  }

  .field-page .panel-agent-visits-table tr{
    padding:10px;
    border:1px solid #d3e0d8;
    border-radius:12px;
    background:#f9fcfa;
    box-shadow:0 6px 14px rgba(12,40,28,.05);
  }

  .field-page .panel-agent-visits-table td{
    padding:4px 0;
    border:none;
    font-size:.82rem;
  }

  .field-page .panel-agent-visits-table td::before{
    display:block;
    margin-bottom:2px;
    color:#63746b;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .field-page .panel-agent-visits-table td:nth-child(1)::before{content:"Data/hora";}
  .field-page .panel-agent-visits-table td:nth-child(2)::before{content:"Endereço";}
  .field-page .panel-agent-visits-table td:nth-child(3)::before{content:"Foco";}
  .field-page .panel-agent-visits-table td:nth-child(4)::before{content:"Depósitos c/ foco";}
  .field-page .panel-agent-visits-table td:nth-child(5)::before{content:"Caixa d'água";}
  .field-page .panel-agent-visits-table td:nth-child(6)::before{content:"Ações";}

  .field-page .panel-agent-visits-table td:nth-child(2) strong{
    display:block;
    color:#1f3d2d;
  }

  .field-page .panel-agent-visits-table td:last-child{
    padding-top:8px;
  }

  .field-page .panel-agent-visits-table td:last-child .btn{
    width:100%;
    min-height:40px;
  }

  .field-page .panel-agent-visits-table td[colspan]{
    text-align:center;
    color:#66727c;
    padding:8px 4px;
  }

  .field-page .panel-agent-visits-table td[colspan]::before{
    display:none;
  }

  .dashboard-layout-v3 .topbar-v3{
    position:sticky;
    top:0;
    z-index:120;
  }

  .dashboard-layout-v3 .topbar-v3__title-row{
    grid-template-columns:1fr;
    padding:10px;
    border-radius:0 0 12px 12px;
    gap:8px;
  }

  .dashboard-layout-v3 .topbar-v3__copy{
    min-width:0;
  }

  .dashboard-layout-v3 .topbar-v3__copy h1{
    font-size:1rem;
    line-height:1.18;
    max-width:100%;
    overflow-wrap:anywhere;
    white-space:normal;
  }

  .dashboard-layout-v3 .topbar-v3__copy p{
    margin-top:4px;
    font-size:.76rem;
    line-height:1.3;
  }

  .dashboard-layout-v3 .topbar-v3__widgets{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:6px;
    width:100%;
    min-width:0;
  }

  .dashboard-layout-v3 .header-widget-v3{
    min-height:42px;
    min-width:0;
    padding:8px 10px;
    border-radius:11px;
  }

  .dashboard-layout-v3 .header-widget-v3--sync{
    min-width:0;
  }

  .dashboard-layout-v3 .header-widget-v3__copy strong{
    font-size:.7rem;
  }

  .dashboard-layout-v3 .header-widget-v3__copy span{
    font-size:.62rem;
  }

  .dashboard-layout-v3 .panel-shell-card-v3{
    padding:8px;
    border-radius:12px;
  }

  .dashboard-layout-v3 .panel-filter-drawer > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:42px;
    padding:0 12px;
    color:#1c3f2f;
    font-size:.8rem;
    font-weight:800;
    list-style:none;
    cursor:pointer;
  }

  .dashboard-layout-v3 .panel-filter-drawer > summary::after{
    content:"Abrir";
    font-size:.66rem;
    color:#4d6658;
  }

  .dashboard-layout-v3 .panel-filter-drawer[open] > summary{
    border-bottom:1px solid #e0ebe4;
  }

  .dashboard-layout-v3 .panel-filter-drawer[open] > summary::after{
    content:"Fechar";
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3{
    padding:10px;
    grid-template-columns:1fr;
    gap:8px;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 .field{
    gap:4px;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 label{
    font-size:.74rem;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 input,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 select{
    min-height:40px;
    font-size:.82rem;
    border-radius:10px;
  }

  .dashboard-layout-v3 .field-button-v6 .btn{
    min-height:42px;
  }

  .dashboard-layout-v3 .panel-main-v3{
    padding:8px 8px calc(102px + env(safe-area-inset-bottom));
  }

  .dashboard-layout-v3 .panel-workspace-v3{
    padding-top:8px;
  }

  .dashboard-layout-v3 .card{
    padding:12px;
    border-radius:12px;
  }

  .dashboard-layout-v3 .section-title{
    font-size:.9rem;
  }

  .dashboard-layout-v3 .panel-operational-grid,
  .dashboard-layout-v3 .panel-operational-grid-2,
  .dashboard-layout-v3 .panel-operational-grid-4,
  .dashboard-layout-v3 .panel-side-grid,
  .dashboard-layout-v3 .panel-maps-grid,
  .dashboard-layout-v3 .panel-report-analysis-grid{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .visit-list-item__status{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px 8px;
  }

  .dashboard-layout-v3 .visit-list-item__actions{
    display:grid;
    gap:6px;
  }

  .dashboard-layout-v3 .visit-inline-action{
    min-height:40px;
  }

  .dashboard-layout-v3 .map-toggle-row{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .dashboard-layout-v3 .map-toggle{
    width:100%;
    min-height:40px;
    padding:0 8px;
    border-radius:10px;
    font-size:.76rem;
  }

  .dashboard-layout-v3 .panel-map-card .map-shell{
    height:min(54vh, 420px);
    min-height:280px;
  }

  .dashboard-layout-v3 .app-sidebar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    box-sizing:border-box;
    min-height:auto;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    background:rgba(2,66,45,.97);
    box-shadow:0 -12px 22px rgba(6,30,20,.26);
    backdrop-filter:blur(8px);
    z-index:140;
  }

  .dashboard-layout-v3 .app-sidebar__brand-card,
  .dashboard-layout-v3 .app-sidebar__footer,
  .dashboard-layout-v3 .sidebar-divider{
    display:none;
  }

  .dashboard-layout-v3 .app-sidebar__nav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 2px;
    scrollbar-width:none;
  }

  .dashboard-layout-v3 .app-sidebar__nav::-webkit-scrollbar{
    display:none;
  }

  .dashboard-layout-v3 .sidebar-tab{
    flex:0 0 auto;
    width:auto;
    min-width:94px;
    min-height:44px;
    padding:0 10px;
    border-radius:11px;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    font-size:.74rem;
  }

  .dashboard-layout-v3 .sidebar-tab__icon{
    width:auto;
    min-width:0;
    font-size:.9rem;
  }
}

@media (max-width: 560px){
  .field-page .topbar-v43 .topbar-actions{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .field-page .topbar-v43 .chip{
    font-size:.72rem;
  }

  .field-page .visit-final-actions{
    bottom:calc(84px + env(safe-area-inset-bottom));
  }

  .dashboard-layout-v3 .topbar-v3__widgets{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .metric-grid{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .visit-list-item__status{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .sidebar-tab{
    min-width:108px;
    font-size:.72rem;
    padding:0 10px;
  }
}

@media (max-width: 420px){
  .field-page .nav-tabs-v43 .tab-btn{
    font-size:.74rem;
    min-height:42px;
  }

  .field-page .panel-agent-visits-table tr{
    padding:8px;
  }

  .dashboard-layout-v3 .panel-filter-drawer > summary{
    min-height:40px;
    font-size:.8rem;
  }

  .dashboard-layout-v3 .map-toggle{
    font-size:.72rem;
  }
}



/* =========================================================
   AJUSTE ESCADA + TELA AGENTES NO PAINEL
   ========================================================= */
.dashboard-layout-v3 .panel-agents-card{
  border-radius:14px;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 .panel-ladder-request-item,
.dashboard-layout-v3 .panel-agent-location-item{
  gap:8px;
}

.dashboard-layout-v3 .panel-ladder-request-item small,
.dashboard-layout-v3 .panel-agent-location-item small{
  display:block;
  color:#56665c;
  font-size:.76rem;
  line-height:1.35;
}

.dashboard-layout-v3 .panel-agent-location-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

@media (max-width: 760px){
  .dashboard-layout-v3 [data-panel-view-content="agents"].panel-view-split{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .panel-agent-location-item{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   AJUSTE PAINEL - AGENTES EM MODAL CENTRAL
   ========================================================= */
.ace-panel-agents-modal[hidden]{
  display:none;
}

.ace-panel-agents-modal{
  position:fixed;
  inset:0;
  z-index:100010;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.ace-panel-agents-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.58);
}

.ace-panel-agents-dialog{
  position:relative;
  width:min(980px,100%);
  max-height:92vh;
  overflow:auto;
  border-radius:24px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 28px 70px rgba(15,23,42,.28);
  border:1px solid rgba(148,163,184,.32);
}

.ace-panel-agents-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:20px 22px 14px;
  border-bottom:1px solid #e2e8f0;
}

.ace-panel-agents-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#145f3f;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ace-panel-agents-header h2{
  margin:0;
  color:#0f172a;
  font-size:1.35rem;
  line-height:1.22;
}

.ace-panel-agents-header p{
  margin:6px 0 0;
  color:#475569;
  font-size:.92rem;
  line-height:1.4;
}

.ace-panel-agents-close{
  border:0;
  width:38px;
  height:38px;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
}

.ace-panel-agents-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  padding:18px 22px 22px;
}

.ace-panel-agents-box{
  min-width:0;
  padding:16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

.ace-panel-agents-box h3{
  margin:0 0 6px;
  color:#173826;
  font-size:1rem;
}

.ace-panel-agents-box > p{
  margin:0 0 12px;
  color:#475569;
  font-size:.88rem;
  line-height:1.45;
}

.is-agents-modal-open{
  overflow:hidden;
}

@media(max-width:760px){
  .ace-panel-agents-modal{
    padding:10px;
  }

  .ace-panel-agents-dialog{
    max-height:88vh;
    border-radius:20px;
  }

  .ace-panel-agents-header{
    padding:16px;
  }

  .ace-panel-agents-header h2{
    font-size:1.15rem;
  }

  .ace-panel-agents-grid{
    grid-template-columns:1fr;
    padding:14px 16px 18px;
  }
}

/* Fluxo de apoio com escada na vistoria da caixa d'água */
.field-page .visit-ladder-support,
.field-page .visit-ladder-support-no-reason{
  border:1px solid #d7e5dc;
  background:#f7fbf8;
  border-radius:14px;
  padding:12px;
}
.field-page .visit-ladder-support .field-help,
.field-page .visit-ladder-support-no-reason .field-help{
  color:#456354;
}

/* Indicador superior de solicitações de escada */
.dashboard-layout-v3 .header-widget-v3--ladder{
  min-width:168px;
}
.dashboard-layout-v3 .header-widget-v3--ladder .header-widget-v3__icon{
  background:rgba(255,255,255,.12);
}
.dashboard-layout-v3 .header-widget-v3--ladder.has-ladder-alert{
  background:rgba(245,158,11,.18);
  border-color:rgba(255,213,128,.36);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(120,75,10,.16);
}
.dashboard-layout-v3 .header-widget-v3--ladder.has-ladder-alert .header-widget-v3__icon{
  background:rgba(255,213,128,.24);
}
@media (min-width:1121px){
  .dashboard-layout-v3 .topbar-v3__widgets{
    grid-template-columns:minmax(168px,auto) minmax(168px,auto) minmax(184px,auto) minmax(198px,auto);
  }
}

/* Correção do quadro Coordenação após inclusão do sino */
.dashboard-layout-v3 .header-widget-v3--profile{
  min-width:198px;
}
.dashboard-layout-v3 .header-widget-v3--profile .header-widget-v3__copy{
  min-width:0;
}
.dashboard-layout-v3 .header-widget-v3--profile .header-widget-v3__copy strong,
.dashboard-layout-v3 .header-widget-v3--profile .header-widget-v3__copy span{
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.15;
}






/* =========================================================
   FILTRO MOBILE FINAL DO PAINEL DA COORDENAÇÃƒO
   - somente celular/tablet pequeno
   - botão compacto/flutuante
   - abre em caixa controlada com rolagem
   ========================================================= */
@media (max-width: 820px){
  body.dashboard-page.dashboard-layout-v3{
    overflow-x:hidden;
    padding-bottom:calc(118px + env(safe-area-inset-bottom));
  }

  .dashboard-layout-v3 .panel-main-v3{
    padding:6px 10px calc(188px + env(safe-area-inset-bottom));
  }

  .dashboard-layout-v3 .topbar-v3{
    gap:6px;
  }

  .dashboard-layout-v3 .topbar-v3__title-row{
    grid-template-columns:minmax(0,1fr);
    gap:6px;
    padding:8px 10px;
    border-radius:0 0 12px 12px;
    min-height:0;
  }

  .dashboard-layout-v3 .topbar-v3__menu-btn{
    display:none;
  }

  .dashboard-layout-v3 .topbar-v3__copy{
    padding-top:0;
  }

  .dashboard-layout-v3 .topbar-v3__copy h1{
    font-size:1.08rem;
    line-height:1.12;
    margin:0;
  }

  .dashboard-layout-v3 .topbar-v3__copy p{
    display:none;
  }

  .dashboard-layout-v3 .topbar-v3__widgets{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    width:100%;
  }

  .dashboard-layout-v3 .header-widget-v3{
    min-height:42px;
    padding:7px 9px;
    border-radius:11px;
    gap:7px;
  }

  .dashboard-layout-v3 .header-widget-v3--date,
  .dashboard-layout-v3 .header-widget-v3--profile{
    display:none;
  }

  .dashboard-layout-v3 .header-widget-v3__icon{
    width:30px;
    height:30px;
    min-width:30px;
    flex-basis:30px;
    border-radius:10px;
    font-size:.95rem;
  }

  .dashboard-layout-v3 .header-widget-v3__copy strong{
    font-size:.76rem;
    line-height:1.1;
  }

  .dashboard-layout-v3 .header-widget-v3__copy span{
    font-size:.66rem;
    line-height:1.1;
  }

  .dashboard-layout-v3 .ace-panel-refresh-cloud-btn,
  #acePanelRefreshCloudBtn{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(132px + env(safe-area-inset-bottom));
    width:calc(100% - 20px);
    min-height:46px;
    margin:0;
    border-radius:999px;
    z-index:161;
  }

  .dashboard-layout-v3 .panel-shell-card-v3{
    position:fixed;
    left:50%;
    right:auto;
    bottom:calc(74px + env(safe-area-inset-bottom));
    transform:translateX(-50%);
    width:min(220px,calc(100vw - 26px));
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    z-index:160;
  }

  .dashboard-layout-v3 .panel-shell-card-v3::before,
  .dashboard-layout-v3 .panel-shell-card-v3::after{
    display:none;
    content:none;
  }

  .dashboard-layout-v3 .panel-filter-drawer{
    position:relative;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }

  .dashboard-layout-v3 .panel-filter-drawer:not([open]) .panel-filter-toolbar-v3{
    display:none;
  }

  .dashboard-layout-v3 .panel-filter-drawer > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    width:100%;
    padding:0 14px;
    border-radius:999px;
    border:1px solid #d6e3db;
    background:#ffffff;
    box-shadow:0 10px 24px rgba(6,30,20,.16);
    color:#173826;
    font-size:.86rem;
    font-weight:900;
    list-style:none;
  }

  .dashboard-layout-v3 .panel-filter-drawer > summary::-webkit-details-marker{
    display:none;
  }

  .dashboard-layout-v3 .panel-filter-drawer > summary::after{
    content:'Abrir';
    font-size:.72rem;
    color:#4d6658;
    font-weight:800;
  }

  .dashboard-layout-v3 .panel-filter-drawer[open] > summary::after{
    content:'Fechar';
  }

  .dashboard-layout-v3 .panel-filter-drawer[open]::before{
    content:'';
    position:fixed;
    left:0;
    right:0;
    top:0;
    bottom:calc(64px + env(safe-area-inset-bottom));
    background:rgba(10,27,19,.14);
    backdrop-filter:blur(1.5px);
    z-index:162;
  }

  .dashboard-layout-v3 .panel-filter-drawer[open] .panel-filter-toolbar-v3,
  .dashboard-layout-v3 .panel-filter-drawer[open] > .panel-filter-toolbar-v3{
    position:fixed;
    left:12px;
    right:12px;
    top:max(96px,16vh);
    bottom:calc(194px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px;
    min-height:0;
    max-height:none;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid #dbe5dd;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 18px 34px rgba(8,36,25,.22);
    z-index:163;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 .field,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 .field-search-v3,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 .field-button-v6{
    min-width:0;
    width:100%;
  }

  .dashboard-layout-v3 .panel-filter-toolbar-v3 input,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 select,
  .dashboard-layout-v3 .panel-filter-toolbar-v3 button{
    width:100%;
    min-height:40px;
    font-size:.82rem;
  }

  .dashboard-layout-v3 .app-sidebar{
    z-index:95;
  }
}


/* Botões Mapa/Satélite do mapa da coordenação — somente computador */
@media (min-width: 1025px){
  .dashboard-layout-v3 .ace-map-base-control{
    display:inline-flex;
    gap:4px;
    padding:4px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(24,60,44,.18);
    box-shadow:0 8px 20px rgba(8,36,25,.16);
    backdrop-filter:blur(4px);
  }

  .dashboard-layout-v3 .ace-map-base-control button{
    min-height:30px;
    padding:0 10px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#234734;
    font-size:.76rem;
    font-weight:900;
    cursor:pointer;
  }

  .dashboard-layout-v3 .ace-map-base-control button.is-active{
    background:#075f3f;
    color:#ffffff;
    box-shadow:0 6px 14px rgba(7,95,63,.18);
  }
}

@media (max-width: 1024px){
  .dashboard-layout-v3 .ace-map-base-control{
    display:none;
  }
}

/* =========================================================
   INDEX V.49 - cartão operacional do imóvel antes da visita
   Foco principal: tablet de 10", mantendo celular e PC confortáveis.
   ========================================================= */
.field-page .visit-screen .selected-card-alerts{
  gap:7px;
  margin-top:10px;
}

.field-page .visit-screen .selected-card-history{
  margin-top:13px;
  padding:12px;
  border:1px solid rgba(15,95,47,.13);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(243,248,245,.92));
}

.field-page .visit-screen .selected-card-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.field-page .visit-screen .selected-card-history-head strong{
  display:block;
  color:#123126;
  font-size:.98rem;
  font-weight:900;
}

.field-page .visit-screen .selected-card-history-head span{
  display:block;
  margin-top:2px;
  color:#5a6a61;
  font-size:.82rem;
  line-height:1.35;
}

.field-page .visit-screen .selected-card-history-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}

.field-page .visit-screen .selected-card-history-item,
.field-page .visit-screen .selected-card-history-empty{
  min-width:0;
  padding:11px 12px;
  border:1px solid #dce8df;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(18,49,38,.06);
}

.field-page .visit-screen .selected-card-history-item{
  border-left-width:5px;
}

.field-page .visit-screen .selected-card-history-item.is-focus{
  border-left-color:#b42318;
}

.field-page .visit-screen .selected-card-history-item.is-closed{
  border-left-color:#b7791f;
}

.field-page .visit-screen .selected-card-history-item.is-recovered{
  border-left-color:#1d4ed8;
}

.field-page .visit-screen .selected-card-history-item.is-clear{
  border-left-color:#11814f;
}

.field-page .visit-screen .selected-card-history-kicker{
  margin-bottom:4px;
  color:#5b6e63;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.field-page .visit-screen .selected-card-history-item strong,
.field-page .visit-screen .selected-card-history-empty strong{
  display:block;
  color:#10241b;
  font-size:.95rem;
  line-height:1.2;
}

.field-page .visit-screen .selected-card-history-item span,
.field-page .visit-screen .selected-card-history-empty span{
  display:block;
  margin-top:4px;
  color:#465a50;
  font-size:.82rem;
  line-height:1.3;
}

.field-page .visit-screen .selected-card-history-item p{
  margin:7px 0 0;
  color:#5d6b64;
  font-size:.8rem;
  line-height:1.34;
}

.field-page .visit-screen .selected-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(15,95,47,.16);
}

.field-page .visit-screen .selected-card-footer--button-only{
  justify-content:flex-end;
}

.field-page .visit-screen .selected-card-footer-copy{
  min-width:0;
}

.field-page .visit-screen .selected-card-footer-copy strong{
  display:block;
  color:#113124;
  font-size:.98rem;
  font-weight:900;
}

.field-page .visit-screen .selected-card-footer-copy span{
  display:block;
  margin-top:2px;
  color:#5b6b62;
  font-size:.84rem;
  line-height:1.35;
}

.field-page .visit-screen .selected-card-start-btn{
  flex:0 0 auto;
  min-width:210px;
  min-height:50px;
  border-radius:16px;
  font-size:1rem;
  font-weight:900;
  box-shadow:0 12px 24px rgba(15,95,47,.18);
}

@media (min-width: 721px) and (max-width: 1180px){
  .field-page .visit-screen .visit-property-browser-card .property-list{
    height:auto;
    min-height:260px;
    max-height:42vh;
  }

  .field-page .visit-screen .selected-card-history-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .field-page .visit-screen .selected-card-footer{
    position:sticky;
    bottom:10px;
    z-index:2;
    padding:12px;
    border:1px solid rgba(15,95,47,.13);
    border-radius:18px;
    background:rgba(255,255,255,.96);
    box-shadow:0 14px 32px rgba(18,49,38,.12);
  }
}

@media (max-width: 720px){
  .field-page .visit-screen .selected-card-history{
    padding:10px;
    border-radius:14px;
  }

  .field-page .visit-screen .selected-card-history-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .field-page .visit-screen .selected-card-footer{
    flex-direction:column;
    align-items:stretch;
  }

  .field-page .visit-screen .selected-card-start-btn{
    width:100%;
    min-width:0;
  }
}

/* Lista de imóveis: sempre rolagem própria, inclusive no tablet/celular. */


.field-page .visit-screen .visit-property-browser-card .property-list-body,
.field-page .visit-screen .property-list-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#9fb5aa #eef5f1;
  -webkit-overflow-scrolling:touch;
}

@media (max-width: 720px){
  .field-page .visit-screen .visit-property-browser-card .property-list,
  .field-page .visit-screen .property-list{
    height:auto;
    min-height:260px;
    max-height:52vh;
  }

  .field-page .visit-screen .visit-property-browser-card .property-list-body,
  .field-page .visit-screen .property-list-body{
    padding-right:8px;
    overflow-y:auto;
  }
}

/* FRONT V4.0 - legenda fixa e marcadores por tipo no mapa */
.dashboard-page .ace-map-legend{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:142px;
  padding:11px 12px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(15,23,42,.18);
  color:#172033;
  font:700 12px/1.25 "Segoe UI",sans-serif;
  backdrop-filter:blur(10px);
}
.dashboard-page .ace-map-legend strong{
  margin-bottom:2px;
  color:#0f172a;
  font-size:12px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.dashboard-page .ace-map-legend span{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.dashboard-page .ace-map-dot{
  width:12px;
  height:12px;
  border:2px solid #fff;
  border-radius:999px;
  box-shadow:0 0 0 1px rgba(15,23,42,.16),0 4px 10px rgba(15,23,42,.18);
}
.dashboard-page .ace-map-dot-closed{background:#eab308;}
.dashboard-page .ace-map-dot-visited{background:#16a34a;}
.dashboard-page .ace-map-dot-agent{background:#2563eb;}
.dashboard-page .map-toggle-agents.is-on{background:#2563eb;}
.dashboard-page .map-toggle-agents::after{background:#2563eb;}

@media(max-width:720px){
  .dashboard-page .ace-map-legend{
    min-width:118px;
    padding:9px 10px;
    font-size:11px;
  }
}


/* Ajuste final do mapa: cores coerentes e legenda dinâmica */
.dashboard-page .map-toggle-open.is-on{background:#2563eb;color:#fff;}
.dashboard-page .map-toggle-closed.is-on{background:#f59e0b;color:#1f2937;}
.dashboard-page .map-toggle-recovered.is-on{background:#16a34a;color:#fff;}
.dashboard-page .map-toggle-agents.is-on{background:#0f766e;color:#fff;}
.dashboard-page .map-toggle-heat.is-on{background:linear-gradient(90deg,#fde68a 0%,#f97316 45%,#dc2626 100%);color:#fff;}
.dashboard-page .map-toggle-polygons.is-on{background:linear-gradient(90deg,#16a34a 0 33%,#facc15 33% 66%,#ef4444 66% 100%);color:#fff;}
.dashboard-page .ace-map-dot-polygons{background:linear-gradient(90deg,#16a34a 0 33%,#facc15 33% 66%,#ef4444 66% 100%);}
.dashboard-page .ace-map-dot-open,.dashboard-page .ace-map-dot-visited{background:#2563eb;}
.dashboard-page .ace-map-dot-closed{background:#f59e0b;}

.dashboard-page .ace-map-dot-agent{background:#0f766e;}
.dashboard-page .ace-map-dot-focus{background:#dc2626;}
.dashboard-page .ace-map-dot-heat{background:linear-gradient(90deg,#fde68a 0%,#f97316 45%,#dc2626 100%);}
.dashboard-page .ace-map-legend-empty{color:#64748b;font-style:italic;}

/* Ajuste: quadro compacto de tubitos gerados no app do agente */
.field-page #screen-painel .panel-tubitos-card .panel-card-note{
  margin:-4px 0 12px;
  color:#66727c;
  font-size:.9rem;
  font-weight:700;
}
.field-page #screen-painel .panel-tubitos-table{
  max-height:220px;
  overflow:auto;
}
.field-page #screen-painel .panel-tubitos-table th,
.field-page #screen-painel .panel-tubitos-table td{
  vertical-align:top;
}
.field-page #screen-painel .tubito-code-list{
  display:inline-block;
  font-weight:900;
  color:#183c2c;
  letter-spacing:.01em;
  font-size:1rem;
  line-height:1.25;
}
@media(max-width:760px){
  .field-page #screen-painel .panel-tubitos-table table,
  .field-page #screen-painel .panel-tubitos-table thead,
  .field-page #screen-painel .panel-tubitos-table tbody,
  .field-page #screen-painel .panel-tubitos-table tr,
  .field-page #screen-painel .panel-tubitos-table th,
  .field-page #screen-painel .panel-tubitos-table td{
    display:block;
    width:100%;
  }
  .field-page #screen-painel .panel-tubitos-table thead{
    display:none;
  }
  .field-page #screen-painel .panel-tubitos-table tr{
    border:1px solid #d7e3db;
    border-radius:14px;
    margin:0 0 10px;
    padding:8px 10px;
    background:#fff;
  }
  .field-page #screen-painel .panel-tubitos-table td{
    border:0;
    padding:6px 0;
  }
}


/* MAPA V4.1 - cores semânticas mais limpas, botões neutros e legenda separada */
.dashboard-page #territoryMapControls.map-toggle-row{
  gap:8px;
  margin:10px 0 12px;
}

.dashboard-page #territoryMapControls .map-toggle{
  position:relative;
  min-height:36px;
  padding:8px 12px 10px 30px;
  border-radius:6px;
  border:1px solid rgba(31,41,55,.16);
  background:#ffffff;
  color:#25332b;
  box-shadow:none;
  font-weight:800;
  font-size:.8rem;
  line-height:1.1;
}

.dashboard-page #territoryMapControls .map-toggle:hover{
  transform:none;
  border-color:rgba(24,60,44,.32);
  box-shadow:0 6px 14px rgba(24,60,44,.07);
}

.dashboard-page #territoryMapControls .map-toggle::before{
  content:"";
  position:absolute;
  left:10px;
  top:50%;
  width:10px;
  height:10px;
  transform:translateY(-50%);
  border-radius:999px;
  background:#94a3b8;
  box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(15,23,42,.12);
}

.dashboard-page #territoryMapControls .map-toggle::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  opacity:.25;
  background:#94a3b8;
}

.dashboard-page #territoryMapControls .map-toggle.is-on{
  background:#f8faf9;
  color:#111827;
  border-color:rgba(24,60,44,.26);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}

.dashboard-page #territoryMapControls .map-toggle.is-on::after{
  height:5px;
  opacity:1;
}

.dashboard-page #territoryMapControls .map-toggle-polygons::before,
.dashboard-page #territoryMapControls .map-toggle-polygons::after{
  background:linear-gradient(90deg,#86efac 0 33%,#facc15 33% 66%,#ef4444 66% 100%);
}

.dashboard-page #territoryMapControls .map-toggle-open::before,
.dashboard-page #territoryMapControls .map-toggle-open::after{
  background:#2563eb;
}

.dashboard-page #territoryMapControls .map-toggle-closed::before,
.dashboard-page #territoryMapControls .map-toggle-closed::after{
  background:#f59e0b;
}

.dashboard-page #territoryMapControls .map-toggle-recovered::before,
.dashboard-page #territoryMapControls .map-toggle-recovered::after{
  background:#16a34a;
}

.dashboard-page #territoryMapControls .map-toggle-agents::before,
.dashboard-page #territoryMapControls .map-toggle-agents::after{
  background:#0f766e;
}

.dashboard-page #territoryMapControls .map-toggle-heat::before,
.dashboard-page #territoryMapControls .map-toggle-heat::after{
  background:linear-gradient(90deg,#fecaca 0%,#ef4444 55%,#7f1d1d 100%);
}

.dashboard-page .ace-map-legend{
  gap:9px;
  min-width:180px;
  max-width:min(260px, calc(100vw - 44px));
  padding:11px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  color:#172033;
  font:700 11px/1.25 "Segoe UI",Arial,sans-serif;
}

.dashboard-page .ace-map-legend strong{
  margin-bottom:0;
  padding-bottom:6px;
  border-bottom:1px solid rgba(15,23,42,.08);
  color:#0f172a;
  font-size:11px;
  letter-spacing:.04em;
}

.dashboard-page .ace-map-legend-group{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.dashboard-page .ace-map-legend-group em{
  display:block;
  margin-top:1px;
  color:#475569;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.dashboard-page .ace-map-legend span{
  display:flex;
  align-items:center;
  gap:7px;
  white-space:normal;
  color:#1f2937;
}

.dashboard-page .ace-map-dot,
.dashboard-page .ace-map-swatch{
  flex:0 0 auto;
  width:12px;
  height:12px;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(15,23,42,.15),0 3px 8px rgba(15,23,42,.14);
}

.dashboard-page .ace-map-dot{
  border-radius:999px;
}

.dashboard-page .ace-map-swatch{
  border-radius:3px;
}

.dashboard-page .ace-map-dot-open,
.dashboard-page .ace-map-dot-visited{
  background:#2563eb;
}

.dashboard-page .ace-map-dot-closed{
  background:#f59e0b;
  border-radius:3px;
}

.dashboard-page .ace-map-dot-recovered{
  background:#16a34a;
}

.dashboard-page .ace-map-dot-focus{
  background:#dc2626;
  box-shadow:0 0 0 1px rgba(127,29,29,.28),0 0 0 4px rgba(220,38,38,.14);
}

.dashboard-page .ace-map-dot-agent{
  background:#0f766e;
  border-radius:4px;
  transform:rotate(45deg);
}

.dashboard-page .ace-map-dot-pe{
  background:#f97316;
  border-radius:4px;
  transform:rotate(45deg);
}

.dashboard-page .ace-map-dot-liraa{
  width:0;
  height:0;
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-bottom:13px solid #8b5cf6;
  border-top:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.dashboard-page .ace-map-risk-low{background:#86efac;}
.dashboard-page .ace-map-risk-medium{background:#facc15;}
.dashboard-page .ace-map-risk-high{background:#ef4444;}

.dashboard-page .ace-map-scale{
  flex:0 0 42px;
  width:42px;
  height:10px;
  border-radius:999px;
  border:1px solid rgba(127,29,29,.18);
  box-shadow:0 2px 8px rgba(15,23,42,.12);
}

.dashboard-page .ace-map-scale-heat,
.dashboard-page .ace-map-dot-heat{
  background:linear-gradient(90deg,#fee2e2 0%,#ef4444 58%,#7f1d1d 100%);
}

.dashboard-page .ace-map-legend-empty{
  color:#64748b;
  font-style:italic;
}

@media(max-width:720px){
  .dashboard-page #territoryMapControls.map-toggle-row{
    gap:6px;
  }
  .dashboard-page #territoryMapControls .map-toggle{
    min-height:34px;
    padding:7px 10px 9px 27px;
    font-size:.74rem;
  }
  .dashboard-page #territoryMapControls .map-toggle::before{
    left:9px;
    width:9px;
    height:9px;
  }
  .dashboard-page .ace-map-legend{
    max-width:190px;
    min-width:150px;
    padding:9px 10px;
    font-size:10px;
  }
}

/* Polimento final - status de sincronização nos testes reais */
.field-page .sync-day-status{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(24,60,44,.14);
  border-left:4px solid var(--brand-700);
  border-radius:12px;
  background:#f8fcf9;
  color:var(--brand-900);
  text-align:left;
  font-weight:800;
  line-height:1.45;
}
.field-page .sync-day-status.is-warn{
  border-left-color:var(--warn-700);
  background:#fff8eb;
}
.field-page .sync-day-status.is-danger{
  border-left-color:var(--danger-700);
  background:#fff3f3;
}

/* Polimento final - resumo executivo no painel da coordenação */
.dashboard-page .panel-brief-line--narrative{
  display:block;
  border-top:none;
  padding:2px 0 0;
}
.dashboard-page .panel-brief-line--narrative span{
  display:block;
  font-size:.86rem;
  line-height:1.45;
  font-weight:800;
  color:#21322a;
}

/* PAINEL COORDENAÇÃƒO - polimento operacional final: alertas, supervisão e objetivos do mapa */
.dashboard-page .panel-brief-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.dashboard-page .map-objective-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 10px;
  padding:8px;
  border:1px solid rgba(31,41,55,.10);
  border-radius:10px;
  background:#f8faf9;
}

.dashboard-page .map-objective{
  border:1px solid rgba(31,41,55,.14);
  background:#fff;
  color:#24312b;
  border-radius:999px;
  padding:7px 11px;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
}

.dashboard-page .map-objective.is-on{
  background:#173f2e;
  color:#fff;
  border-color:#173f2e;
  box-shadow:0 6px 14px rgba(24,60,44,.14);
}

.dashboard-page #territoryMapControls .map-toggle-ladder::before,
.dashboard-page #territoryMapControls .map-toggle-ladder::after{
  background:#f97316;
}

.dashboard-page #territoryMapControls .map-toggle-supervision::before,
.dashboard-page #territoryMapControls .map-toggle-supervision::after{
  background:#7c3aed;
}

.dashboard-page .ace-map-dot-ladder{
  background:#f97316;
}

.dashboard-page .ace-map-dot-supervision{
  background:#7c3aed;
  box-shadow:0 0 0 1px rgba(76,29,149,.25),0 0 0 4px rgba(124,58,237,.13);
}

.dashboard-page .panel-supervision-request-item{
  border-left:4px solid #7c3aed;
}

.dashboard-page .panel-ladder-request-item{
  border-left:4px solid #f97316;
}

@media (max-width: 820px){
  .dashboard-page .map-objective-row{
    gap:6px;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  .dashboard-page .map-objective{
    flex:0 0 auto;
    padding:7px 10px;
  }
}


/* Ajuste final: mensagens temporárias do app somem após 8 segundos */
.field-page .sync-banner.is-hidden,
.sync-banner.is-hidden{
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
}

/* Ajuste final: cores semânticas dos botões do app do agente */
.field-page #screen-painel .dashboard-day-actions #syncNowBtn,
.field-page #liraaFetchPlanBtn{
  background:linear-gradient(180deg,#eaf3ff 0%,#dcecff 100%);
  border-color:#a9c8ee;
  color:#245b91;
}

.field-page #screen-painel .dashboard-day-actions #requestSupervisionBtn{
  background:linear-gradient(180deg,#f3edff 0%,#eadfff 100%);
  border-color:#cab7f0;
  color:#5b3c94;
}

.field-page #screen-painel .dashboard-day-actions #dailyReportBtn,
.field-page #liraaImportPlanBtn,
.field-page #liraaOpenPropertiesBtn{
  background:linear-gradient(180deg,#edf8f1 0%,#dff1e6 100%);
  border-color:#b9d9c6;
  color:#245f3e;
}

.field-page #screen-painel .dashboard-day-actions #closeDayBtn{
  background:linear-gradient(180deg,#fff0f0 0%,#f9dddd 100%);
  border-color:#e9b5b5;
  color:#9f3434;
}

.field-page #screen-painel .dashboard-day-actions .btn,
.field-page .liraa-field-import .btn{
  box-shadow:0 8px 18px rgba(24,60,44,.06);
}

.field-page #screen-painel .dashboard-day-actions .btn:hover:not(:disabled),
.field-page .liraa-field-import .btn:hover:not(:disabled){
  filter:saturate(1.03) brightness(.995);
  box-shadow:0 10px 20px rgba(24,60,44,.10);
}

/* Ajuste final: filtros de imóveis com cores diferentes e suaves */
.field-page .visit-screen .property-filter-all{--filter-color:#2f7a52;--filter-soft:#e8f6ed;}
.field-page .visit-screen .property-filter-opened{--filter-color:#2d72d2;--filter-soft:#eaf2ff;}
.field-page .visit-screen .property-filter-closed{--filter-color:#b64646;--filter-soft:#fdeeee;}
.field-page .visit-screen .property-filter-recovered{--filter-color:#2f8a55;--filter-soft:#e8f7ed;}
.field-page .visit-screen .property-filter-focus{--filter-color:#c97916;--filter-soft:#fff2df;}
.field-page .visit-screen .property-filter-nogps{--filter-color:#7b4cc2;--filter-soft:#f2ecff;}
.field-page .visit-screen .property-filter-mine{--filter-color:#257b8a;--filter-soft:#e7f6f8;}
.field-page .visit-screen .property-filter-registered{--filter-color:#4f6fb4;--filter-soft:#edf2ff;}

.field-page .visit-screen .property-filter-btn{
  background:linear-gradient(180deg,var(--filter-soft,#f7faf8) 0%,#ffffff 100%);
  border-color:var(--filter-color,#2f7a52);
  color:var(--filter-color,#2f7a52);
}

.field-page .visit-screen .property-filter-btn span{
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.38);
  color:var(--filter-color,#2f7a52);
}

.field-page .visit-screen .property-filter-btn.is-active{
  background:var(--filter-color,#2f7a52);
  border-color:var(--filter-color,#2f7a52);
  color:#fff;
}

.field-page .visit-screen .property-filter-btn.is-active span{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.24);
  color:#fff;
}


/* Destaque laboratorial no mapa: tubito positivo para Aedes */
.dashboard-page #territoryMapControls .map-toggle-lab-positive::before,
.dashboard-page #territoryMapControls .map-toggle-lab-positive::after{
  background:linear-gradient(90deg,#dc2626 0 58%,#7c3aed 58% 100%);
}
.dashboard-page .ace-map-dot-lab-positive{
  background:#dc2626;
  border-color:#7c3aed;
  box-shadow:0 0 0 1px rgba(76,29,149,.32),0 0 0 5px rgba(124,58,237,.14);
}


/* Ajuste mapa coordenação: resumo fixo do recorte e mapa mais limpo */
.dashboard-page .map-context-panel{
  display:block;
  width:100%;
  margin:6px 0 10px;
  padding:10px 12px;
  border:1px solid rgba(21,94,117,.18);
  border-left:5px solid #0f766e;
  border-radius:12px;
  background:linear-gradient(180deg,#f8fffc 0%,#f1f8f5 100%);
  color:#1f3028;
  box-shadow:0 8px 20px rgba(15,76,56,.07);
}
.dashboard-page .map-context-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 14px;
  margin-bottom:8px;
}
.dashboard-page .map-context-title strong{
  font-size:.94rem;
  color:#143d2d;
}
.dashboard-page .map-context-title span{
  font-size:.76rem;
  font-weight:700;
  color:#52645b;
}
.dashboard-page .map-context-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}
.dashboard-page .map-context-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 8px;
  border:1px solid rgba(31,41,55,.10);
  border-radius:999px;
  background:#fff;
  color:#26352e;
}
.dashboard-page .map-context-chip small{
  font-size:.68rem;
  font-weight:800;
  color:#66756e;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.dashboard-page .map-context-chip strong{
  font-size:.86rem;
  font-weight:900;
  color:#17251e;
}
.dashboard-page .map-context-chip.is-blue{background:#eff6ff;border-color:#bfdbfe;}
.dashboard-page .map-context-chip.is-ok{background:#ecfdf3;border-color:#bbf7d0;}
.dashboard-page .map-context-chip.is-warn{background:#fffbeb;border-color:#fde68a;}
.dashboard-page .map-context-chip.is-danger{background:#fef2f2;border-color:#fecaca;}
.dashboard-page .map-context-chip.is-lab{background:#faf5ff;border-color:#ddd6fe;}
.dashboard-page .map-context-chip.is-teal{background:#ecfeff;border-color:#a5f3fc;}
.dashboard-page .map-context-layers{
  margin-top:7px;
  padding-top:7px;
  border-top:1px dashed rgba(31,41,55,.15);
  font-size:.76rem;
  font-weight:800;
  color:#475950;
}
.dashboard-page .map-context-layers span{
  color:#143d2d;
}
.dashboard-page .map-objective-row{
  display:none;
}
@media (max-width:820px){
  .dashboard-page .map-context-title{display:block;}
  .dashboard-page .map-context-title span{display:block;margin-top:3px;}
  .dashboard-page .map-context-chip{padding:5px 7px;}
  .dashboard-page .map-context-chip small{font-size:.64rem;}
}

/* Ajuste final mapa: painel textual fixo e sem contadores coloridos soltos */
.dashboard-page #execMapLegendV2,
.dashboard-page .exec-map-v2{
  display:none;
}
.dashboard-page .map-context-panel{
  display:block;
  width:100%;
  margin:6px 0 10px;
  padding:10px 12px;
  border:1px solid #d7dfd8;
  border-left:4px solid #64756a;
  border-radius:8px;
  background:#fbfcfb;
  color:#1f2d25;
  box-shadow:none;
}
.dashboard-page .map-context-text-panel{
  display:block;
  font-size:.80rem;
  line-height:1.42;
  color:#243128;
}
.dashboard-page .map-context-title-line{
  margin:0 0 6px 0;
  padding:0 0 5px 0;
  border-bottom:1px solid #dde5de;
}
.dashboard-page .map-selection-header{
  display:grid;
  gap:2px;
  margin:0 0 8px 0;
  padding:8px 10px;
  border:1px solid #c7d8cc;
  border-left:4px solid #1f7a4d;
  border-radius:8px;
  background:#f2fbf5;
  color:#173626;
}
.dashboard-page .map-selection-header span,
.leaflet-popup-content .territory-popup__selection span{
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#4f6f5c;
}
.dashboard-page .map-selection-header strong,
.leaflet-popup-content .territory-popup__selection strong{
  display:block;
  color:#0f2f20;
  font-size:.94rem;
  line-height:1.2;
}
.dashboard-page .map-selection-header small{
  color:#526159;
  font-weight:750;
}
.leaflet-popup-content .territory-popup__selection{
  display:grid;
  gap:2px;
  padding:7px 9px;
  margin-bottom:6px;
  border:1px solid #c7d8cc;
  border-left:4px solid #1f7a4d;
  border-radius:8px;
  background:#f2fbf5;
}
.dashboard-page .map-context-columns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:18px;
  row-gap:3px;
  align-items:start;
}
.dashboard-page .map-context-text-panel p{
  margin:2px 0;
  padding:0;
}
.dashboard-page .map-context-columns p{
  margin:0;
}
.dashboard-page .map-context-text-panel strong{
  font-weight:800;
  color:#13271b;
}
.dashboard-page .map-context-muted{
  margin-top:6px;
  padding-top:6px;
  border-top:1px dashed #cfd8d0;
  color:#526159;
}
.dashboard-page .map-context-empty{
  margin-top:6px;
  color:#5f4b16;
}
.dashboard-page .map-context-actions{
  margin-top:6px;
}
.dashboard-page .map-context-print{
  min-height:28px;
  padding:4px 10px;
  border-radius:7px;
  font-size:.75rem;
  box-shadow:none;
}
@media (max-width: 760px){
  .dashboard-page .map-context-columns{
    grid-template-columns:minmax(0, 1fr);
    row-gap:2px;
  }
}
.dashboard-page .map-context-chips,
.dashboard-page .map-context-chip,
.dashboard-page .map-context-title,
.dashboard-page .map-context-layers{
  box-shadow:none;
}

/* =========================================================
   Aba Estatísticas - comparativos por período
   ========================================================= */
.dashboard-page .panel-view[data-panel-view-content="statistics"]{
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}

.dashboard-layout-v3 [data-panel-view-content="statistics"].panel-view-split{
  display:none;
  gap:14px;
  align-items:start;
}

.dashboard-layout-v3 [data-panel-view-content="statistics"].panel-view-split.is-active{
  display:grid;
}

.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-view-fixed{
  position:static;
  top:auto;
}

.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-fixed-card,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-operational-grid > .card,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-side-grid > .card{
  border:1px solid #d9e2dc;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 4px 18px rgba(12,40,27,.05);
}

.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-fixed-card::before,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-operational-grid > .card::before,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-side-grid > .card::before{
  height:3px;
}

.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-fixed-card .section-title,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-operational-grid > .card > .section-title,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-side-grid > .card > .section-title{
  text-align:center;
  color:#234031;
}

.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-scroll-box,
.dashboard-layout-v3 [data-panel-view-content="statistics"] .panel-scroll-box-inner{
  overflow:visible;
  max-height:none;
}

.dashboard-layout-v3 .panel-statistics-card{
  padding:12px 16px 16px;
}

.dashboard-layout-v3 .statistics-eyebrow{
  display:inline-block;
  margin:0 auto 6px;
  padding:3px 8px;
  border:1px solid #d1ddd4;
  border-radius:999px;
  background:#f5faf7;
  color:#52675b;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.dashboard-layout-v3 .statistics-lead,
.dashboard-layout-v3 .statistics-narrative{
  margin:4px auto 10px;
  max-width:980px;
  color:#53635a;
  font-size:.82rem;
  text-align:center;
}

.dashboard-layout-v3 .statistics-narrative{
  margin-top:10px;
  padding:8px 10px;
  border:1px solid #dce6df;
  border-radius:10px;
  background:#f8fbf9;
  text-align:left;
}

.dashboard-layout-v3 .statistics-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

.dashboard-layout-v3 .statistics-kpi{
  min-height:72px;
  padding:8px 9px;
  border:1px solid #d8e2dc;
  border-left:4px solid #7c8f84;
  border-radius:10px;
  background:#ffffff;
}

.dashboard-layout-v3 .statistics-kpi small{
  display:block;
  color:#5f7066;
  font-size:.70rem;
  font-weight:800;
  line-height:1.15;
}

.dashboard-layout-v3 .statistics-kpi strong{
  display:block;
  margin-top:4px;
  color:#173421;
  font-size:1.25rem;
  line-height:1;
}

.dashboard-layout-v3 .statistics-kpi span{
  display:block;
  margin-top:5px;
  color:#617269;
  font-size:.68rem;
  line-height:1.2;
}

.dashboard-layout-v3 .statistics-kpi.is-good{border-left-color:#2f7a4b;background:#fbfefc;}
.dashboard-layout-v3 .statistics-kpi.is-bad{border-left-color:#a64d4d;background:#fffafa;}
.dashboard-layout-v3 .statistics-kpi.is-stable{border-left-color:#7f8d86;background:#ffffff;}

.dashboard-layout-v3 .statistics-grid-main{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.dashboard-layout-v3 .statistics-grid-secondary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.dashboard-layout-v3 .statistics-card{
  padding:14px 16px 16px;
}

.dashboard-layout-v3 .statistics-table{
  display:grid;
  gap:5px;
}

.dashboard-layout-v3 .statistics-table-head,
.dashboard-layout-v3 .statistics-table-row{
  display:grid;
  grid-template-columns:minmax(160px,1.4fr) .6fr .6fr .75fr;
  gap:8px;
  align-items:center;
}

.dashboard-layout-v3 .statistics-table-head{
  padding:5px 8px;
  border-bottom:1px solid #dce5df;
  color:#5c6c63;
  font-size:.70rem;
  font-weight:900;
  text-transform:uppercase;
}

.dashboard-layout-v3 .statistics-table-row{
  padding:7px 8px;
  border:1px solid #e0e8e3;
  border-left:4px solid #7f8d86;
  border-radius:9px;
  background:#ffffff;
  font-size:.78rem;
}

.dashboard-layout-v3 .statistics-table-row strong{
  color:#1e3729;
  font-size:.78rem;
  line-height:1.2;
}

.dashboard-layout-v3 .statistics-table-row span,
.dashboard-layout-v3 .statistics-table-row em{
  color:#4d5f55;
  font-style:normal;
  font-weight:800;
}

.dashboard-layout-v3 .statistics-table-row.is-good{border-left-color:#2f7a4b;background:#fbfefc;}
.dashboard-layout-v3 .statistics-table-row.is-bad{border-left-color:#a64d4d;background:#fffafa;}
.dashboard-layout-v3 .statistics-table-row.is-stable{border-left-color:#7f8d86;background:#ffffff;}
.dashboard-layout-v3 .statistics-table-row[data-drill-field]{cursor:pointer;}
.dashboard-layout-v3 .statistics-table-row[data-drill-field]:hover{background:#f4faf6;}

.dashboard-layout-v3 .statistics-trend-chart{
  display:grid;
  gap:8px;
}

.dashboard-layout-v3 .statistics-trend-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:7px 8px;
  border:1px solid #e0e8e3;
  border-radius:10px;
  background:#ffffff;
}

.dashboard-layout-v3 .statistics-trend-label strong,
.dashboard-layout-v3 .statistics-trend-label span{
  display:block;
}

.dashboard-layout-v3 .statistics-trend-label strong{
  color:#1f3b2c;
  font-size:.78rem;
}

.dashboard-layout-v3 .statistics-trend-label span{
  color:#65756c;
  font-size:.70rem;
}

.dashboard-layout-v3 .statistics-trend-bars{
  display:grid;
  gap:4px;
}

.dashboard-layout-v3 .statistics-trend-bars span{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) 32px;
  gap:6px;
  align-items:center;
  color:#56685d;
  font-size:.70rem;
  font-weight:800;
}

.dashboard-layout-v3 .statistics-trend-bars b{
  display:block;
  height:7px;
  min-width:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#7f8f86,#aebdb4);
}

.dashboard-layout-v3 .statistics-trend-bars em{
  color:#263a2f;
  font-style:normal;
  text-align:right;
}

.dashboard-layout-v3 .statistics-insight-list{
  display:grid;
  gap:8px;
}

.dashboard-layout-v3 .statistics-insight{
  padding:9px 10px;
  border:1px solid #dfe7e2;
  border-left:4px solid #7f8d86;
  border-radius:10px;
  background:#ffffff;
}

.dashboard-layout-v3 .statistics-insight strong,
.dashboard-layout-v3 .statistics-insight span{
  display:block;
}

.dashboard-layout-v3 .statistics-insight strong{
  color:#1d3628;
  font-size:.82rem;
}

.dashboard-layout-v3 .statistics-insight span{
  margin-top:3px;
  color:#56675e;
  font-size:.78rem;
  line-height:1.35;
}

.dashboard-layout-v3 .statistics-insight.is-good{border-left-color:#2f7a4b;background:#fbfefc;}
.dashboard-layout-v3 .statistics-insight.is-bad{border-left-color:#a64d4d;background:#fffafa;}
.dashboard-layout-v3 .statistics-insight.is-stable{border-left-color:#7f8d86;background:#ffffff;}
.dashboard-layout-v3 .statistics-insight.is-neutral{border-left-color:#6d7d87;background:#fbfcfd;}

@media (max-width:1180px){
  .dashboard-layout-v3 .statistics-kpi-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dashboard-layout-v3 .statistics-grid-main,
  .dashboard-layout-v3 .statistics-grid-secondary{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .dashboard-layout-v3 .statistics-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dashboard-layout-v3 .statistics-table-head,
  .dashboard-layout-v3 .statistics-table-row{
    grid-template-columns:1.1fr .55fr .55fr .8fr;
    gap:5px;
    font-size:.70rem;
  }
  .dashboard-layout-v3 .statistics-trend-row{
    grid-template-columns:1fr;
  }
}


/* Checklist de prontidão offline do app do agente */
.offline-ready-card{
  margin:0 0 14px 0;
  border:1px solid #d5ded8;
  border-left:6px solid #b8c4bd;
  background:#f8faf9;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 28px rgba(21,55,37,.08);
}
.offline-ready-card.is-ok{
  border-color:#bddfc8;
  border-left-color:#1f7a4d;
  background:#f5fbf7;
}
.offline-ready-card.is-pending{
  border-color:#f1d89b;
  border-left-color:#c58c19;
  background:#fffaf0;
}
.offline-ready-card.is-error{
  border-color:#efc3bf;
  border-left-color:#b42318;
  background:#fff7f6;
}
.offline-ready-card.is-dismissed{
  display:none;
}
.offline-ready-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.offline-ready-card__head strong{
  display:block;
  font-size:1rem;
  color:#183c2c;
}
.offline-ready-card__head span:not(.offline-ready-badge){
  display:block;
  margin-top:4px;
  color:#526159;
  font-weight:700;
  line-height:1.35;
}
.offline-ready-badge{
  flex:0 0 auto;
  border-radius:999px;
  padding:5px 10px;
  font-size:.72rem;
  font-weight:900;
  border:1px solid #cfd9d2;
  background:#fff;
}
.offline-ready-badge.is-ok{color:#14532d;border-color:#b8e0c5;background:#ecfdf3}
.offline-ready-badge.is-pending{color:#7c4a03;border-color:#f0d48b;background:#fffbeb}
.offline-ready-badge.is-error{color:#8a1f17;border-color:#eeb7b0;background:#fff1f1}
.offline-ready-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 12px;
  margin-top:10px;
  font-size:.78rem;
  color:#2f4037;
}
.offline-ready-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}
.offline-ready-check{
  border:1px solid #d8e1db;
  background:#fff;
  border-radius:12px;
  padding:8px 9px;
  min-height:58px;
}
.offline-ready-check.is-ok{border-color:#bfe2cc;background:#f8fffa}
.offline-ready-check.is-pending{border-color:#f0d28a;background:#fffdf6}
.offline-ready-check.is-error{border-color:#efc2bc;background:#fff8f7}
.offline-ready-check__status{
  display:inline-flex;
  margin-right:6px;
  padding:2px 6px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:900;
  background:#eef3ef;
}
.offline-ready-check.is-ok .offline-ready-check__status{background:#dcfce7;color:#14532d}
.offline-ready-check.is-pending .offline-ready-check__status{background:#fef3c7;color:#7c4a03}
.offline-ready-check.is-error .offline-ready-check__status{background:#fee2e2;color:#8a1f17}
.offline-ready-check__label{
  font-weight:900;
  color:#183c2c;
  font-size:.78rem;
}
.offline-ready-check small{
  display:block;
  margin-top:4px;
  color:#5e6c64;
  line-height:1.3;
}
.offline-ready-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.offline-ready-warning{
  margin:10px 0 0 0;
  color:#5b655f;
  font-size:.76rem;
  font-weight:800;
}
.offline-ready-loading{
  grid-column:1/-1;
  color:#5e6c64;
  font-weight:800;
  padding:8px 0;
}
@media (max-width: 720px){
  .offline-ready-card__head{display:block}
  .offline-ready-badge{display:inline-flex;margin-top:8px}
  .offline-ready-meta,
  .offline-ready-checks{grid-template-columns:1fr}
}


/* =========================================================
   FASE 5 - sessão privada do painel
   ========================================================= */
.dashboard-layout-v3 #panelLogoutButtonSlot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
}

.dashboard-layout-v3 .header-widget-v3__logout-stack{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.dashboard-layout-v3 .header-widget-v3__logout-note{
  display:block;
  font-weight:800;
  color:#10231a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-layout-v3 .header-widget-v3__logout-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(15,95,47,.10);
  color:#14532d;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-layout-v3 .header-widget-v3__logout-badge.is-warn{
  background:rgba(202,138,4,.16);
  color:#854d0e;
}

.dashboard-layout-v3 .header-widget-v3__logout-badge.is-idle{
  background:rgba(71,85,105,.16);
  color:#334155;
}

.dashboard-layout-v3 .ace-panel-private-logout-btn,
.dashboard-layout-v3 .ace-panel-refresh-cloud-btn{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:11px 16px;
  font:800 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.dashboard-layout-v3 .ace-panel-private-logout-btn{
  background:#123a2a;
  color:#fff;
  box-shadow:0 12px 28px rgba(18,58,42,.18);
}

.dashboard-layout-v3 .ace-panel-private-logout-btn:hover,
.dashboard-layout-v3 .ace-panel-refresh-cloud-btn:hover{
  transform:translateY(-1px);
}

@media (max-width: 980px){
  .dashboard-layout-v3 #panelLogoutButtonSlot{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* =========================================================
   REFINO FINAL - barra lateral do painel mais fina
   Mantém o visual aprovado e reduz apenas proporções da navegação.
   ========================================================= */
.dashboard-layout-v3 .panel-shell-v3{
  grid-template-columns:240px minmax(0,1fr);
}

.dashboard-layout-v3 .app-sidebar{
  padding:10px 9px 12px;
  background:
    linear-gradient(180deg, rgba(10,73,49,.98) 0%, rgba(5,61,40,.99) 58%, rgba(2,51,34,1) 100%),
    radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 42%);
  box-shadow:10px 0 24px rgba(8,36,25,.12);
}

.dashboard-layout-v3 .app-sidebar__brand-card{
  gap:9px;
  border-radius:16px;
  padding:9px 10px;
  margin-bottom:10px;
  box-shadow:0 8px 18px rgba(8,36,25,.12);
}

.dashboard-layout-v3 .app-sidebar__brand-symbol{
  width:48px;
  height:48px;
  flex-basis:48px;
}

.dashboard-layout-v3 .app-sidebar__brand-symbol svg{
  width:48px;
  height:48px;
}

.dashboard-layout-v3 .app-sidebar__brand-copy{
  gap:0;
}

.dashboard-layout-v3 .app-sidebar__brand-copy span{
  font-size:.58rem;
  letter-spacing:.10em;
}

.dashboard-layout-v3 .app-sidebar__brand-copy strong{
  font-size:1.38rem;
  line-height:.92;
}

.dashboard-layout-v3 .app-sidebar__brand-copy small{
  font-size:.76rem;
  letter-spacing:.07em;
}

.dashboard-layout-v3 .app-sidebar__nav{
  gap:5px;
}

.dashboard-layout-v3 .sidebar-divider{
  margin:6px 8px 7px;
  background:rgba(255,255,255,.14);
}

.dashboard-layout-v3 .sidebar-tab{
  min-height:38px;
  gap:8px;
  padding:0 10px;
  border-radius:12px;
  font-size:.82rem;
  line-height:1.12;
  font-weight:850;
  letter-spacing:.005em;
  box-shadow:none;
}

.dashboard-layout-v3 .sidebar-tab:hover{
  background:rgba(255,255,255,.075);
  transform:translateX(1px);
}

.dashboard-layout-v3 .sidebar-tab.active{
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(238,248,242,.96));
  color:#123b2a;
  box-shadow:
    inset 3px 0 0 rgba(47,122,82,.98),
    0 7px 16px rgba(0,0,0,.12);
}

.dashboard-layout-v3 .sidebar-tab.active .sidebar-tab__icon{
  background:rgba(47,122,82,.12);
  color:#14532d;
}

.dashboard-layout-v3 .sidebar-tab--ghost{
  opacity:.92;
}

.dashboard-layout-v3 .sidebar-tab__icon{
  width:24px;
  min-width:24px;
  height:24px;
  border-radius:9px;
  font-size:.92rem;
  line-height:1;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.94);
}

.dashboard-layout-v3 .app-sidebar__footer{
  margin-top:9px;
}

.dashboard-layout-v3 .sidebar-status-card{
  border-radius:14px;
  padding:9px 10px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.09);
}

.dashboard-layout-v3 .sidebar-status-card__row{
  gap:7px;
}

.dashboard-layout-v3 .sidebar-status-card__row--head strong{
  font-size:.76rem;
  line-height:1.15;
}

.dashboard-layout-v3 .sidebar-status-card__row--meta{
  margin-top:5px;
  font-size:.68rem;
}

.dashboard-layout-v3 .sidebar-status-card__dot{
  width:7px;
  height:7px;
}

.dashboard-layout-v3 .app-sidebar .sync-banner{
  margin-top:7px;
  padding:6px 8px;
  border-radius:10px;
  font-size:.70rem;
  line-height:1.2;
}

@media (max-width:1120px){
  .dashboard-layout-v3 .panel-shell-v3{
    grid-template-columns:220px minmax(0,1fr);
  }

  .dashboard-layout-v3 .sidebar-tab{
    min-height:36px;
    font-size:.78rem;
    padding:0 9px;
  }

  .dashboard-layout-v3 .sidebar-tab__icon{
    width:22px;
    min-width:22px;
    height:22px;
    font-size:.84rem;
  }
}

@media (max-width:900px){
  .dashboard-layout-v3 .panel-shell-v3{
    grid-template-columns:1fr;
  }

  .dashboard-layout-v3 .app-sidebar{
    position:relative;
    min-height:auto;
  }

  .dashboard-layout-v3 .app-sidebar__nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-layout-v3 .sidebar-divider{
    grid-column:1/-1;
  }
}

@media (max-width:560px){
  .dashboard-layout-v3 .app-sidebar__nav{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   INDEX V.54 - tema visual alinhado ao laboratório
   Somente acabamento estético do app de campo.
   ========================================================= */
.field-page{
  background:
    radial-gradient(circle at top left, rgba(24,60,44,.16), transparent 24%),
    radial-gradient(circle at top right, rgba(53,95,159,.12), transparent 28%),
    linear-gradient(180deg, #edf4f0 0%, #e7efeb 230px, #edf2ef 100%);
}

.field-page .page-shell{
  position:relative;
  min-height:100vh;
  background:transparent;
}

.field-page .page-shell::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 18%, rgba(47,122,82,.10), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(76,124,197,.08), transparent 20%),
    radial-gradient(circle at 72% 78%, rgba(199,134,21,.08), transparent 18%);
  opacity:.95;
}

.field-page .login-shell{
  background:
    radial-gradient(circle at top left, rgba(47,122,82,.18), transparent 26%),
    radial-gradient(circle at top right, rgba(76,124,197,.14), transparent 30%),
    linear-gradient(160deg,#0a2b1d 0%,#0f5f2f 56%,#176b37 100%);
}

.field-page .login-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.12);
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,250,248,.99)),
    radial-gradient(circle at top right, rgba(76,124,197,.06), transparent 34%);
  color:#1b252e;
  box-shadow:0 18px 42px rgba(10,32,22,.24);
}

.field-page .login-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .login-card .brand-mark{
  background:linear-gradient(180deg,#21563c,#183c2c);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  box-shadow:0 12px 28px rgba(24,60,44,.22);
}

.field-page .topbar.topbar-v43{
  position:sticky;
  top:10px;
  z-index:90;
  width:min(1280px, calc(100vw - 28px));
  margin:14px auto 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  color:#fff;
  background:
    linear-gradient(120deg, rgba(10,43,29,.96), rgba(15,95,47,.96) 56%, rgba(23,107,55,.94)),
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 32%);
  box-shadow:0 18px 42px rgba(10,32,22,.24);
}

.field-page .topbar.topbar-v43::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  display:block;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .topbar-v43 .topbar-row,
.field-page .nav-tabs.nav-tabs-v43{
  max-width:none;
  width:100%;
}

.field-page .topbar-v43 .topbar-row{
  padding:18px 22px 12px;
  gap:14px;
}

.field-page .nav-tabs.nav-tabs-v43{
  padding:0 22px 18px;
  gap:10px;
}

.field-page .topbar-v43 .brand-mark{
  width:52px;
  height:52px;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 28px rgba(10,32,22,.18);
}

.field-page .topbar-v43 .brand-copy h1{
  font-size:clamp(1.12rem, 2vw, 1.42rem);
  letter-spacing:-.02em;
}

.field-page .topbar-v43 .brand-copy p{
  color:rgba(255,255,255,.82);
  font-weight:650;
}

.field-page .topbar-v43 .chip,
.field-page .nav-tabs-v43 .tab-btn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 12px 28px rgba(10,32,22,.14);
}

.field-page .nav-tabs-v43 .tab-btn.active,
.field-page .topbar-v43 .header-sync-btn{
  background:rgba(255,255,255,.20);
  border-color:rgba(255,255,255,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 14px 28px rgba(10,32,22,.18);
}

.field-page main{
  max-width:1280px;
  margin:0 auto;
  padding:0 22px 28px;
}

.field-page .screen-head,
.field-page #screen-painel .screen-head{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg, #ffffff, #f7faf8),
    radial-gradient(circle at top right, rgba(76,124,197,.05), transparent 30%);
  box-shadow:0 18px 42px rgba(24,60,44,.08);
}

.field-page .screen-head::before,
.field-page #screen-painel .screen-head::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .card,
.field-page .visit-screen .visit-card,
.field-page .visit-screen .property-list,
.field-page .visit-screen .property-result-card,
.field-page .visit-screen .selected-card,
.field-page .visit-screen .visit-selected-card,
.field-page .visit-screen .deposit-card,
.field-page .visit-screen .visit-summary-receipt,
.field-page .visit-screen .visit-summary-mini-card,
.field-page .property-form-section,
.field-page .property-form-card,
.field-page .offline-ready-card,
.field-page .table-wrap,
.field-page .summary-tile,
.field-page .metric-card,
.field-page .history-card,
.field-page .insight-card,
.field-page .chart-card,
.field-page .agent-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg, #ffffff, #f7faf8),
    radial-gradient(circle at top right, rgba(76,124,197,.045), transparent 32%);
  box-shadow:0 18px 42px rgba(24,60,44,.08);
}

.field-page .card::before,
.field-page .visit-screen .property-list::before,
.field-page .visit-screen .property-result-card::before,
.field-page .visit-screen .selected-card::before,
.field-page .visit-screen .visit-selected-card::before,
.field-page .visit-screen .deposit-card::before,
.field-page .visit-screen .visit-summary-receipt::before,
.field-page .visit-screen .visit-summary-mini-card::before,
.field-page .property-form-section::before,
.field-page .offline-ready-card::before,
.field-page .table-wrap::before,
.field-page .summary-tile::before,
.field-page .metric-card::before,
.field-page .history-card::before,
.field-page .insight-card::before,
.field-page .chart-card::before,
.field-page .agent-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  display:block;
  height:5px;
  margin:0;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .hero-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg, #ffffff, #f7faf8),
    radial-gradient(circle at top left, rgba(47,122,82,.05), transparent 28%);
  box-shadow:0 18px 42px rgba(24,60,44,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.field-page .hero-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .hero-card:hover,
.field-page .visit-screen .property-result-card:hover{
  transform:translateY(-1px);
  box-shadow:0 22px 44px rgba(24,60,44,.12);
}

.field-page .hero-card.is-focus{
  background:linear-gradient(180deg,#fff5f5,#ffecec);
  border-color:rgba(195,71,71,.18);
}

.field-page .hero-card.is-focus::before,
.field-page .metric-card.is-danger::before{
  background:linear-gradient(90deg,#d96464,#c34747);
}

.field-page .hero-card.is-accent{
  background:linear-gradient(180deg,#f3f7ff,#eaf0ff);
  border-color:rgba(53,95,159,.16);
}

.field-page .hero-card.is-accent::before,
.field-page .metric-card.is-accent::before{
  background:linear-gradient(90deg,#5c8bd7,#355f9f);
}

.field-page .hero-card.is-warn{
  background:linear-gradient(180deg,#fff9ef,#fff1d6);
  border-color:rgba(199,134,21,.18);
}

.field-page .hero-card.is-warn::before,
.field-page .metric-card.is-warn::before{
  background:linear-gradient(90deg,#e8b84f,#c78615);
}

.field-page .hero-card.is-priority{
  color:#fff;
  background:
    linear-gradient(135deg,#113221,#17533a 58%,#2f6f4f),
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 34%);
  box-shadow:0 18px 40px rgba(17,50,33,.24);
}

.field-page .hero-card.is-priority::before{
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .visit-screen .visit-wizard{
  position:sticky;
  top:128px;
  z-index:80;
  margin:0 0 14px;
  padding:10px;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg, #ffffff, #f7faf8),
    radial-gradient(circle at top right, rgba(76,124,197,.05), transparent 30%);
  box-shadow:0 18px 42px rgba(24,60,44,.08);
}

.field-page .visit-screen .visit-wizard::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .visit-screen .visit-wizard-steps{
  gap:8px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:none;
}

.field-page .visit-screen .visit-step-chip{
  border:1px solid rgba(24,60,44,.10);
  background:linear-gradient(180deg,#ffffff,#f4f8f6);
  box-shadow:0 8px 18px rgba(24,60,44,.045);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.field-page .visit-screen .visit-step-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(24,60,44,.09);
}

.field-page .visit-screen .visit-step-chip.is-active{
  background:
    linear-gradient(120deg, rgba(10,43,29,.96), rgba(15,95,47,.96) 56%, rgba(23,107,55,.94)),
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 32%);
  border-color:rgba(24,60,44,.16);
  color:#fff;
  box-shadow:0 14px 28px rgba(24,60,44,.18);
}

.field-page .visit-screen .visit-step-chip.is-active .visit-step-chip__number{
  color:#21563c;
}

.field-page .visit-screen .visit-step-chip.is-done{
  background:linear-gradient(180deg,#eef8f1,#e5f3eb);
  border-color:rgba(47,122,82,.25);
}

.field-page .visit-screen .visit-step-chip.is-done .visit-step-chip__number{
  background:#2f7a52;
  border-color:#2f7a52;
  color:#fff;
}

.field-page .section-title{
  color:#183c2c;
  letter-spacing:-.01em;
}

.field-page .screen-badge,
.field-page .meta-pill,
.field-page .status-pill,
.field-page .tag,
.field-page .property-query-summary,
.field-page .visit-summary-status{
  border:1px solid rgba(24,60,44,.10);
  background:linear-gradient(180deg,#ffffff,#f3f8f5);
  box-shadow:0 10px 22px rgba(24,60,44,.06);
}

.field-page input,
.field-page select,
.field-page textarea{
  border:1.5px solid rgba(24,60,44,.14);
  border-radius:16px;
  background:#ffffff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}

.field-page input:focus,
.field-page select:focus,
.field-page textarea:focus{
  border-color:#4c7cc5;
  box-shadow:0 0 0 4px rgba(76,124,197,.12);
}

.field-page .btn{
  border-radius:16px;
  box-shadow:0 10px 22px rgba(24,60,44,.08);
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.field-page .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(24,60,44,.12);
}

.field-page .btn-primary,
.field-page .visit-screen .property-query-actions #refreshPropertiesBtn,
.field-page .visit-screen .property-query-actions #captureGpsBtn{
  border-color:#21563c;
  background:linear-gradient(180deg,#2f7a52,#21563c);
  color:#fff;
  box-shadow:0 12px 28px rgba(24,60,44,.22);
}

.field-page .btn-secondary{
  border-color:#355f9f;
  background:linear-gradient(180deg,#4c7cc5,#355f9f);
  color:#fff;
}

.field-page .btn-soft{
  border-color:rgba(24,60,44,.14);
  background:linear-gradient(180deg,#ffffff,#eef6f1);
  color:#21563c;
}

.field-page .btn-warn{
  border-color:#c78615;
  background:linear-gradient(180deg,#edc45f,#c78615);
  color:#fff;
}

.field-page .btn-danger{
  border-color:rgba(195,71,71,.24);
  background:linear-gradient(180deg,#fff5f5,#ffecec);
  color:#a83232;
}

.field-page .visit-screen .selected-card,
.field-page .visit-screen .visit-selected-card,
.field-page .visit-screen .choice-btn.active{
  border-color:rgba(76,124,197,.22);
  background:linear-gradient(180deg,#f3f7ff,#eaf0ff);
}

.field-page .visit-screen .selected-card::before,
.field-page .visit-screen .visit-selected-card::before{
  background:linear-gradient(90deg,#4c7cc5,#355f9f);
}

.field-page .visit-screen .deposit-card.is-active{
  border-color:rgba(199,134,21,.22);
  background:linear-gradient(180deg,#fff9ef,#fff1d6);
}

.field-page .map-shell{
  border:1px solid rgba(24,60,44,.12);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(233,241,236,.95), rgba(245,249,247,.96)),
    radial-gradient(circle at top left, rgba(47,122,82,.10), transparent 24%),
    radial-gradient(circle at bottom right, rgba(76,124,197,.08), transparent 28%);
  box-shadow:0 18px 42px rgba(24,60,44,.10);
}

.field-page .table-wrap{
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,249,247,.99)),
    radial-gradient(circle at top right, rgba(76,124,197,.05), transparent 24%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 14px 28px rgba(24,60,44,.06);
}

.field-page th{
  background:linear-gradient(180deg,#edf5f1,#e3eee8);
  color:#183c2c;
}

.field-page .sync-banner{
  border-radius:18px;
  background:#173826;
  box-shadow:0 12px 28px rgba(17,50,33,.24);
}

@media (max-width: 1024px){
  .field-page .topbar.topbar-v43{
    top:8px;
    width:calc(100vw - 20px);
    margin:10px auto 12px;
    border-radius:22px;
  }

  .field-page .topbar-v43 .topbar-row{
    padding:12px 14px 8px;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding:0 14px 14px;
  }

  .field-page main{
    padding:0 14px 22px;
  }

  .field-page .visit-screen .visit-wizard{
    top:116px;
    border-radius:20px;
  }
}

@media (max-width: 760px){
  .field-page .login-card{
    border-radius:24px;
  }

  .field-page .topbar.topbar-v43{
    border-radius:20px;
  }

  .field-page .topbar-v43 .brand-mark{
    display:none;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:1rem;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:7px;
  }

  .field-page .topbar-v43 .chip{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:0 8px;
    border-radius:12px;
    font-size:.76rem;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:8px;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:0;
    min-height:44px;
    padding:0 8px;
    border-radius:12px;
    font-size:.82rem;
  }

  .field-page .card,
  .field-page .visit-screen .visit-card,
  .field-page .visit-screen .property-list,
  .field-page .visit-screen .property-result-card,
  .field-page .visit-screen .selected-card,
  .field-page .visit-screen .visit-selected-card,
  .field-page .visit-screen .deposit-card,
  .field-page .property-form-section,
  .field-page .offline-ready-card,
  .field-page .table-wrap,
  .field-page .summary-tile,
  .field-page .metric-card,
  .field-page .history-card,
  .field-page .insight-card,
  .field-page .chart-card,
  .field-page .agent-card,
  .field-page .map-shell{
    border-radius:20px;
  }

  .field-page .visit-screen .visit-wizard{
    top:108px;
    padding:8px;
    border-radius:18px;
  }

  .field-page .visit-screen .visit-wizard-steps{
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    border-radius:0;
    scrollbar-width:none;
  }

  .field-page .visit-screen .visit-wizard-steps::-webkit-scrollbar{
    display:none;
  }

  .field-page .visit-screen .visit-step-chip{
    flex:0 0 auto;
    min-width:138px;
    min-height:46px;
    border-radius:14px;
  }
}

@media (max-width: 420px){
  .field-page .topbar-v43 .topbar-actions{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .field-page .visit-screen .visit-wizard{
    top:106px;
  }
}

/* =========================================================
   TEMA PADRÃƒO LAB - aplicado ao index e painel
   Somente acabamento visual.
   ========================================================= */
body.field-page,
body.dashboard-page.dashboard-layout-v3{
  color:#1b252e;
  background:
    radial-gradient(circle at top left, rgba(24,60,44,.16), transparent 24%),
    radial-gradient(circle at top right, rgba(53,95,159,.12), transparent 28%),
    linear-gradient(180deg, #edf4f0 0%, #e7efeb 230px, #edf2ef 100%);
}

.field-page .login-shell,
.dashboard-page .ace-panel-login-overlay{
  background:
    radial-gradient(circle at top left, rgba(88,170,118,.20), transparent 24%),
    radial-gradient(circle at bottom right, rgba(76,124,197,.12), transparent 28%),
    linear-gradient(160deg,#143527,#18412e 46%,#10251b 100%);
}

.field-page .login-card,
.dashboard-page .ace-panel-login-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(207,217,211,.92);
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,246,.98)),
    radial-gradient(circle at top right, rgba(47,122,82,.06), transparent 34%);
  color:#183226;
  box-shadow:0 26px 56px rgba(10,32,22,.18);
}

.field-page .login-card::before,
.dashboard-page .ace-panel-login-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .topbar,
.dashboard-layout-v3 .topbar-v3__title-row{
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:
    linear-gradient(120deg, rgba(10,43,29,.96), rgba(15,95,47,.96) 56%, rgba(23,107,55,.94)),
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 32%);
  box-shadow:0 18px 42px rgba(10,32,22,.24);
  overflow:hidden;
}

.field-page .topbar::after,
.dashboard-layout-v3 .topbar-v3__title-row::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
}

.field-page .topbar,
.dashboard-layout-v3 .topbar-v3__title-row{
  position:relative;
}

.dashboard-layout-v3 .app-sidebar{
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:
    linear-gradient(180deg,rgba(10,43,29,.97),rgba(15,95,47,.96) 58%,rgba(23,107,55,.94)),
    radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 34%);
  box-shadow:0 18px 42px rgba(10,32,22,.24);
}

.dashboard-layout-v3 .app-sidebar::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
  z-index:1;
}

.field-page .card,
.field-page .hero-card,
.field-page .visit-card,
.field-page .property-list,
.field-page .property-result-card,
.field-page .selected-card,
.field-page .visit-selected-card,
.field-page .deposit-card,
.field-page .property-form-section,
.field-page .offline-ready-card,
.field-page .table-wrap,
.field-page .summary-tile,
.field-page .metric-card,
.field-page .history-card,
.field-page .insight-card,
.field-page .chart-card,
.field-page .agent-card,
.dashboard-layout-v3 .card,
.dashboard-layout-v3 .panel-shell-card,
.dashboard-layout-v3 .panel-fixed-card,
.dashboard-layout-v3 .panel-fixed-metrics-card,
.dashboard-layout-v3 .panel-statistics-card,
.dashboard-layout-v3 .statistics-card,
.dashboard-layout-v3 .panel-map-card,
.dashboard-layout-v3 .panel-report-screen-card,
.dashboard-layout-v3 .panel-strategy-card,
.dashboard-layout-v3 .panel-visit-inspection-card,
.dashboard-layout-v3 .panel-visits-table-card,
.dashboard-layout-v3 .panel-subsection,
.dashboard-layout-v3 .panel-view[data-panel-view-content="indicators"],
.dashboard-layout-v3 .panel-view[data-panel-view-content="reports"]{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(24,60,44,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg,#ffffff,#f7faf8),
    radial-gradient(circle at top left,rgba(47,122,82,.05),transparent 28%);
  box-shadow:0 18px 42px rgba(24,60,44,.08);
}

.field-page .card::before,
.field-page .hero-card::before,
.field-page .visit-card::before,
.field-page .property-list::before,
.field-page .property-result-card::before,
.field-page .selected-card::before,
.field-page .visit-selected-card::before,
.field-page .deposit-card::before,
.field-page .property-form-section::before,
.field-page .offline-ready-card::before,
.field-page .table-wrap::before,
.field-page .summary-tile::before,
.field-page .metric-card::before,
.field-page .history-card::before,
.field-page .insight-card::before,
.field-page .chart-card::before,
.field-page .agent-card::before,
.dashboard-layout-v3 .card::before,
.dashboard-layout-v3 .panel-shell-card::before,
.dashboard-layout-v3 .panel-fixed-card::before,
.dashboard-layout-v3 .panel-fixed-metrics-card::before,
.dashboard-layout-v3 .panel-statistics-card::before,
.dashboard-layout-v3 .statistics-card::before,
.dashboard-layout-v3 .panel-map-card::before,
.dashboard-layout-v3 .panel-report-screen-card::before,
.dashboard-layout-v3 .panel-strategy-card::before,
.dashboard-layout-v3 .panel-visit-inspection-card::before,
.dashboard-layout-v3 .panel-visits-table-card::before,
.dashboard-layout-v3 .panel-subsection::before,
.dashboard-layout-v3 .panel-view[data-panel-view-content="indicators"]::before,
.dashboard-layout-v3 .panel-view[data-panel-view-content="reports"]::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  display:block;
  height:5px;
  margin:0;
  background:linear-gradient(90deg,#2f7a52,#4c7cc5 62%,#c78615);
  z-index:1;
}

.field-page .hero-card.is-focus,
.field-page .metric-card.is-danger,
.dashboard-layout-v3 .hero-card.is-focus,
.dashboard-layout-v3 .metric-card.is-danger{
  background:linear-gradient(180deg,#fff5f5,#ffecec);
  border-color:rgba(195,71,71,.18);
}

.field-page .hero-card.is-focus::before,
.field-page .metric-card.is-danger::before,
.dashboard-layout-v3 .hero-card.is-focus::before,
.dashboard-layout-v3 .metric-card.is-danger::before{
  background:linear-gradient(90deg,#d96464,#c34747);
}

.field-page .hero-card.is-accent,
.field-page .metric-card.is-accent,
.dashboard-layout-v3 .hero-card.is-accent,
.dashboard-layout-v3 .metric-card.is-accent{
  background:linear-gradient(180deg,#f3f7ff,#eaf0ff);
  border-color:rgba(53,95,159,.16);
}

.field-page .hero-card.is-accent::before,
.field-page .metric-card.is-accent::before,
.dashboard-layout-v3 .hero-card.is-accent::before,
.dashboard-layout-v3 .metric-card.is-accent::before{
  background:linear-gradient(90deg,#5c8bd7,#355f9f);
}

.field-page .hero-card.is-warn,
.field-page .metric-card.is-warn,
.dashboard-layout-v3 .hero-card.is-warn,
.dashboard-layout-v3 .metric-card.is-warn{
  background:linear-gradient(180deg,#fff9ef,#fff1d6);
  border-color:rgba(199,134,21,.18);
}

.field-page .hero-card.is-warn::before,
.field-page .metric-card.is-warn::before,
.dashboard-layout-v3 .hero-card.is-warn::before,
.dashboard-layout-v3 .metric-card.is-warn::before{
  background:linear-gradient(90deg,#e8b84f,#c78615);
}

.field-page input,
.field-page select,
.field-page textarea,
.dashboard-page input,
.dashboard-page select,
.dashboard-page textarea{
  border:1.5px solid rgba(24,60,44,.14);
  border-radius:16px;
  background:#ffffff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}

.field-page input:focus,
.field-page select:focus,
.field-page textarea:focus,
.dashboard-page input:focus,
.dashboard-page select:focus,
.dashboard-page textarea:focus{
  border-color:#4c7cc5;
  box-shadow:0 0 0 4px rgba(76,124,197,.12);
  outline:none;
}

.field-page .btn,
.dashboard-page .btn,
.dashboard-layout-v3 button,
.dashboard-page .ace-panel-login-card button{
  border-radius:16px;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.field-page .btn:hover,
.dashboard-page .btn:hover,
.dashboard-layout-v3 button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(24,60,44,.12);
}

.field-page .btn-primary,
.dashboard-page .btn-primary,
.dashboard-page #acePanelLoginSubmit,
.dashboard-layout-v3 .field-button-v6--apply,
.dashboard-layout-v3 .panel-action-refresh,
.dashboard-layout-v3 .panel-action-exec{
  border-color:#21563c;
  background:linear-gradient(180deg,#2f7a52,#21563c);
  color:#fff;
  box-shadow:0 12px 28px rgba(24,60,44,.22);
}

.field-page .btn-soft,
.dashboard-page .btn-soft,
.dashboard-layout-v3 .field-button-v6,
.dashboard-layout-v3 .sidebar-tab,
.dashboard-layout-v3 .header-widget-v3{
  border-color:rgba(24,60,44,.14);
  background:linear-gradient(180deg,#ffffff,#eef6f1);
  color:#21563c;
}

.dashboard-layout-v3 .sidebar-tab,
.dashboard-layout-v3 .header-widget-v3{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.16);
}

.dashboard-layout-v3 .sidebar-tab.is-active,
.dashboard-layout-v3 .sidebar-tab.active,
.dashboard-layout-v3 .sidebar-tab:hover{
  background:rgba(255,255,255,.20);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 12px 26px rgba(8,28,19,.16);
}

.dashboard-layout-v3 .ranking-list,
.dashboard-layout-v3 .chart-list,
.dashboard-layout-v3 .insight-list,
.dashboard-layout-v3 #territoryComparison,
.dashboard-layout-v3 #streetComparison,
.dashboard-layout-v3 #reportScreen,
.dashboard-layout-v3 #drilldownPanel{
  border:1px solid rgba(24,60,44,.08);
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(250,252,251,.98),rgba(241,246,243,.98)),
    radial-gradient(circle at top left,rgba(76,124,197,.05),transparent 26%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.dashboard-layout-v3 .metric-card{
  background:linear-gradient(180deg,#ffffff,#f4f8f6);
  border:1px solid rgba(24,60,44,.10);
  box-shadow:0 12px 24px rgba(24,60,44,.06);
}

.dashboard-layout-v3 .topbar-v3__title-row,
.dashboard-layout-v3 .app-sidebar,
.dashboard-layout-v3 .panel-shell-card,
.dashboard-layout-v3 .panel-fixed-card,
.dashboard-layout-v3 .panel-fixed-metrics-card,
.dashboard-layout-v3 .panel-map-card,
.dashboard-layout-v3 .panel-report-screen-card,
.dashboard-layout-v3 .panel-statistics-card,
.dashboard-layout-v3 .statistics-card{
  backdrop-filter:none;
}

@media (max-width:1024px){
  .field-page .topbar.topbar-v43,
  .dashboard-layout-v3 .topbar-v3__title-row{
    border-radius:22px;
  }

  .dashboard-layout-v3 .panel-shell-v3{
    padding:10px;
  }

  .dashboard-layout-v3 .app-sidebar{
    border-radius:22px;
  }
}

@media (max-width:760px){
  .field-page .login-card,
  .dashboard-page .ace-panel-login-card{
    border-radius:24px;
  }

  .field-page .card,
  .field-page .hero-card,
  .dashboard-layout-v3 .card,
  .dashboard-layout-v3 .panel-shell-card,
  .dashboard-layout-v3 .panel-fixed-card,
  .dashboard-layout-v3 .panel-fixed-metrics-card,
  .dashboard-layout-v3 .panel-map-card,
  .dashboard-layout-v3 .panel-report-screen-card,
  .dashboard-layout-v3 .panel-statistics-card,
  .dashboard-layout-v3 .statistics-card{
    border-radius:20px;
  }
}

/* Correção de prioridade dos botões principais no tema lab */
.dashboard-layout-v3 .field-button-v6--apply,
.dashboard-layout-v3 .field-button-v6--cloud,
.dashboard-layout-v3 .panel-action-refresh,
.dashboard-layout-v3 .panel-action-exec,
.dashboard-page #acePanelLoginSubmit{
  border-color:#21563c;
  background:linear-gradient(180deg,#2f7a52,#21563c);
  color:#fff;
  box-shadow:0 12px 28px rgba(24,60,44,.22);
}

.dashboard-layout-v3 .field-button-v6--clear,
.dashboard-layout-v3 .panel-action-clear{
  border-color:rgba(24,60,44,.14);
  background:linear-gradient(180deg,#ffffff,#eef6f1);
  color:#21563c;
}

/* Override final: a lista de imóveis da visita rola dentro da própria caixa. */
.field-page .visit-screen .visit-property-browser-card .property-list,
.field-page .visit-screen .property-list{
  display:flex;
  flex-direction:column;
  min-height:280px;
  max-height:min(620px, 58vh);
  overflow:hidden;
}

.field-page .visit-screen .visit-property-browser-card .property-list-body,
.field-page .visit-screen .property-list-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@media (max-width:720px){
  .field-page .visit-screen .visit-property-browser-card .property-list,
  .field-page .visit-screen .property-list{
    min-height:260px;
    max-height:52vh;
  }
}

/* Ajuste final para tablet de campo 8,7" (Galaxy Tab A11 / 1340x800).
   O aparelho fica no meio-termo entre celular e desktop; em retrato ele tem
   largura suficiente para escapar de varias regras mobile antigas. */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page{
    --content:100%;
  }

  .field-page .topbar.topbar-v43{
    width:calc(100vw - 16px);
    top:6px;
    margin:6px auto 8px;
    border-radius:18px;
  }

  .field-page .topbar-v43 .topbar-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:8px;
    padding:9px 10px 7px;
  }

  .field-page .topbar-v43 .topbar-main{
    gap:9px;
  }

  .field-page .topbar-v43 .brand-mark{
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:14px;
    font-size:1.12rem;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:1rem;
    line-height:1.1;
  }

  .field-page .topbar-v43 .brand-copy p{
    font-size:.78rem;
    line-height:1.15;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    min-width:0;
    flex-basis:auto;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:6px;
    padding:6px;
    border-radius:12px;
  }

  .field-page .topbar-v43 .chip{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:0 8px;
    border-radius:11px;
    font-size:.76rem;
    white-space:normal;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    padding:0 10px 10px;
    overflow:visible;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:0;
    min-height:46px;
    padding:0 8px;
    border-radius:11px;
    font-size:.86rem;
  }

  .field-page main{
    padding:0 12px 22px;
  }

  .field-page .hero-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    padding:0;
  }

  .field-page .hero-card{
    min-height:110px;
    padding:14px;
  }

  .field-page .dashboard-day-actions,
  .field-page .property-query-actions,
  .field-page .property-form-actions--refined,
  .field-page .offline-ready-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .field-page .property-query-grid{
    grid-template-columns:1fr;
  }

  .field-page .property-query-summary{
    grid-column:1 / -1;
  }

  .field-page .visit-screen .visit-property-browser-card .property-list,
  .field-page .visit-screen .property-list{
    max-height:min(560px, 48vh);
  }

  .field-page .visit-screen .visit-wizard{
    top:138px;
  }

  .field-page .visit-wizard-steps{
    grid-template-columns:repeat(5, minmax(116px, 1fr));
    min-width:580px;
  }

  .field-page .btn{
    min-height:58px;
    padding:13px 14px;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  .field-page .topbar.topbar-v43{
    margin-top:8px;
    margin-bottom:10px;
  }

  .field-page .topbar-v43 .topbar-row{
    padding:10px 14px 8px;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding-bottom:10px;
  }

  .field-page main{
    padding-bottom:18px;
  }

  .field-page .hero-grid{
    margin-top:12px;
  }

  .field-page .hero-card{
    min-height:104px;
    padding:14px;
  }

  .field-page .visit-screen .visit-wizard{
    top:106px;
  }

  .field-page .visit-screen .visit-property-browser-card .property-list,
  .field-page .visit-screen .property-list{
    max-height:min(500px, 46vh);
  }
}

/* Override final: mapa da coordenacao sem filtro encostando na janela de informacoes. */
.dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card{
  display:grid;
  grid-template-rows:auto auto auto minmax(420px, 1fr);
  gap:14px;
  align-content:start;
  overflow:visible;
}

.dashboard-page #territoryMapSummary.map-context-panel{
  position:relative;
  z-index:3;
  clear:both;
  margin:10px 0 16px;
}

/* INDEX V26 - consulta de imóveis otimizada para tablet 8,7" */
.field-page .visit-screen .visit-property-browser-card{
  display:grid;
  gap:10px;
}

.field-page .visit-screen .visit-property-browser-card .section-title--compact{
  margin-bottom:0;
}

.field-page .visit-screen .visit-property-browser-card .property-query-grid{
  gap:8px 10px;
  align-items:end;
}

.field-page .visit-screen .visit-property-browser-card .field{
  gap:4px;
}

.field-page .visit-screen .visit-property-browser-card label{
  font-size:.78rem;
  line-height:1.1;
}

.field-page .visit-screen .visit-property-browser-card input,
.field-page .visit-screen .visit-property-browser-card select{
  min-height:42px;
  padding:9px 11px;
  border-radius:11px;
  font-size:.92rem;
}

.field-page .visit-screen .property-query-actions{
  gap:8px;
  margin-top:6px;
}

.field-page .visit-screen .property-query-summary{
  min-height:42px;
  padding:7px 10px;
  border-radius:12px;
}

.field-page .visit-screen .property-query-summary strong{
  font-size:.86rem;
}

.field-page .visit-screen .property-query-summary span{
  margin-top:2px;
  font-size:.78rem;
  line-height:1.16;
}

.field-page .visit-screen .property-query-actions .btn{
  min-height:42px;
  padding:8px 10px;
  border-radius:11px;
  font-size:.84rem;
}

.field-page .visit-screen .visit-property-browser-card #propertyList{
  margin-top:8px;
}

.field-page .visit-screen .visit-property-browser-card .property-list-head{
  flex:0 0 auto;
  padding:7px 8px 6px;
}

.field-page .visit-screen .property-list-filters{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 2px 5px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.field-page .visit-screen .property-filter-btn{
  flex:0 0 auto;
  min-width:86px;
  min-height:34px;
  padding:5px 8px;
  border-radius:999px;
  font-size:.78rem;
  line-height:1;
  white-space:nowrap;
}

.field-page .visit-screen .property-filter-btn span{
  min-width:22px;
  height:22px;
  padding:0 6px;
  font-size:.74rem;
}

.field-page .visit-screen .visit-property-browser-card .property-list-body{
  padding:8px;
  gap:8px;
}

.field-page .visit-screen .secretaria-style-card.property-result-card{
  padding:12px 14px;
  border-radius:14px;
}

.field-page .visit-screen .secretaria-style-card .property-card-row-secretaria{
  gap:10px;
}

.field-page .visit-screen .secretaria-style-card .property-card-title{
  margin-bottom:4px;
  font-size:1rem;
  line-height:1.14;
}

.field-page .visit-screen .secretaria-style-card .property-card-address{
  font-size:.9rem;
  line-height:1.22;
}

.field-page .visit-screen .secretaria-style-card .property-card-secretaria-line{
  margin-top:3px;
  font-size:.78rem;
  line-height:1.2;
}

.field-page .visit-screen .secretaria-style-card .property-card-badges{
  gap:5px;
  margin-top:7px;
}

.field-page .visit-screen .secretaria-style-card .badge{
  min-height:24px;
  padding:4px 7px;
  font-size:.72rem;
}

.field-page .visit-screen .secretaria-style-card .property-card-actions-bottom{
  gap:7px;
  margin-top:8px;
}

.field-page .visit-screen .secretaria-style-card .property-card-actions-bottom .btn{
  min-height:36px;
  min-width:112px;
  padding:7px 10px;
  border-radius:9px;
  font-size:.8rem;
}

@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page .visit-screen .visit-property-card{
    padding:12px;
  }

  .field-page .visit-screen .visit-property-card > .section-title{
    margin-bottom:8px;
    font-size:1.04rem;
  }

  .field-page .visit-screen .property-browser-card.visit-property-browser-card{
    padding:12px;
    border-radius:16px;
  }

  .field-page .visit-screen .visit-property-browser-card .property-query-grid{
    grid-template-columns:minmax(0, 1fr) minmax(178px, .42fr);
  }

  .field-page .visit-screen .property-query-actions{
    grid-template-columns:minmax(0, 1fr) 132px 118px;
  }

  .field-page .visit-screen .property-query-summary{
    grid-column:auto;
  }

  .field-page .visit-screen .visit-property-browser-card .property-list{
    height:calc(100dvh - 402px);
    min-height:560px;
    max-height:760px;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  .field-page .visit-screen .visit-property-card{
    padding:12px 14px;
  }

  .field-page .visit-screen .visit-property-card > .section-title{
    margin-bottom:8px;
    font-size:1.02rem;
  }

  .field-page .visit-screen .property-browser-card.visit-property-browser-card{
    padding:12px;
  }

  .field-page .visit-screen .visit-property-browser-card .property-query-grid{
    grid-template-columns:minmax(0, 1fr) minmax(190px, .36fr);
  }

  .field-page .visit-screen .property-query-actions{
    grid-template-columns:minmax(0, 1fr) 142px 128px;
  }

  .field-page .visit-screen .property-query-summary{
    grid-column:auto;
  }

  .field-page .visit-screen .visit-property-browser-card .property-list{
    height:calc(100dvh - 318px);
    min-height:410px;
    max-height:540px;
  }
}

@media (max-width:720px){
  .field-page .visit-screen .visit-property-browser-card .property-query-grid,
  .field-page .visit-screen .property-query-actions{
    grid-template-columns:minmax(0, 1fr);
  }

  .field-page .visit-screen .visit-property-browser-card .property-list{
    height:calc(100dvh - 372px);
    min-height:330px;
    max-height:620px;
  }
}

.dashboard-page #territoryMapControls.map-toggle-row{
  position:relative;
  z-index:2;
  clear:both;
  margin:0 0 16px;
  padding:0;
}

.dashboard-page #territoryMapControls .map-toggle{
  flex:0 0 auto;
}

.dashboard-page #heatMap.map-shell{
  position:relative;
  z-index:1;
  clear:both;
}

.dashboard-page .map-selection-header{
  position:relative;
  z-index:1;
}

@media (max-width:820px){
  .dashboard-layout-v3 [data-panel-view-content="map"]:not([hidden]){
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }

  .dashboard-layout-v3 [data-panel-view-content="map"] .panel-map-card{
    gap:12px;
    padding-top:16px;
  }

  .dashboard-page #territoryMapSummary.map-context-panel{
    margin:12px 0 16px;
  }

  .dashboard-page #territoryMapControls.map-toggle-row{
    margin-bottom:16px;
  }
}

@media (max-width:820px){
  body.ace-panel-view-map.dashboard-layout-v3 .panel-shell-card-v3,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .panel-shell-card-v3{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    transform:none;
    width:100%;
    max-width:none;
    margin:10px 0 0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    z-index:2;
  }

  body.ace-panel-view-map.dashboard-layout-v3 .panel-filter-drawer,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .panel-filter-drawer{
    position:relative;
    border:1px solid #d6e3db;
    border-radius:14px;
    background:#ffffff;
    box-shadow:0 8px 18px rgba(8,36,25,.08);
    overflow:hidden;
  }

  body.ace-panel-view-map.dashboard-layout-v3 .panel-filter-drawer > summary,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .panel-filter-drawer > summary{
    min-height:42px;
    border:0;
    border-radius:14px;
    background:#ffffff;
    box-shadow:none;
  }

  body.ace-panel-view-map.dashboard-layout-v3 .panel-filter-drawer[open]::before,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .panel-filter-drawer[open]::before{
    display:none;
    content:none;
  }

  body.ace-panel-view-map.dashboard-layout-v3 .panel-filter-drawer[open] .panel-filter-toolbar-v3,
  body.ace-panel-view-map.dashboard-layout-v3 .panel-filter-drawer[open] > .panel-filter-toolbar-v3,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .panel-filter-drawer[open] .panel-filter-toolbar-v3,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .panel-filter-drawer[open] > .panel-filter-toolbar-v3{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    display:grid;
    grid-template-columns:1fr;
    max-height:58vh;
    overflow:auto;
    border:0;
    border-top:1px solid #e0ebe4;
    border-radius:0 0 14px 14px;
    box-shadow:none;
    z-index:auto;
  }

  body.ace-panel-view-map.dashboard-layout-v3 .ace-panel-refresh-cloud-btn,
  body.ace-panel-view-map #acePanelRefreshCloudBtn,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) .ace-panel-refresh-cloud-btn,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) #acePanelRefreshCloudBtn{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    min-height:40px;
    margin:0;
    z-index:auto;
  }

  body.ace-panel-view-map.dashboard-layout-v3 [data-panel-view-content="map"]:not([hidden]),
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) [data-panel-view-content="map"]:not([hidden]){
    padding-bottom:calc(92px + env(safe-area-inset-bottom));
  }

  body.ace-panel-view-map .dashboard-page #territoryMapControls.map-toggle-row,
  body.ace-panel-view-map #territoryMapControls.map-toggle-row,
  body.dashboard-layout-v3:has([data-panel-view-content="map"].is-active) #territoryMapControls.map-toggle-row{
    max-height:132px;
    overflow-y:auto;
    overflow-x:hidden;
    align-items:flex-start;
    overscroll-behavior:contain;
  }
}

/* =========================================================
   Coordenador V7 - respiro entre filtros e abas/cards
   Evita que o filtro fique sobre os quadros das abas.
   ========================================================= */
.dashboard-page.dashboard-layout-v3{
  --coord-filter-bottom-gap:34px;
  --panel-workspace-gap:28px;
}

.dashboard-page.dashboard-layout-v3 .panel-shell-card,
.dashboard-page.dashboard-layout-v3 .panel-shell-card-v3{
  position:relative;
  top:auto;
  z-index:10;
  margin-bottom:var(--coord-filter-bottom-gap);
}

.dashboard-page.dashboard-layout-v3 .panel-workspace,
.dashboard-page.dashboard-layout-v3 .panel-workspace-v3{
  position:relative;
  z-index:1;
  clear:both;
  padding-top:0;
  gap:var(--panel-workspace-gap);
}

.dashboard-page.dashboard-layout-v3 .panel-view,
.dashboard-page.dashboard-layout-v3 .panel-view.is-active{
  gap:var(--panel-workspace-gap);
  scroll-margin-top:calc(var(--panel-shell-height, 220px) + var(--coord-filter-bottom-gap));
}

.dashboard-page.dashboard-layout-v3 .panel-view-split .panel-view-fixed{
  top:24px;
}

.dashboard-page.dashboard-layout-v3 .panel-view > :first-child,
.dashboard-page.dashboard-layout-v3 .panel-view-fixed > :first-child,
.dashboard-page.dashboard-layout-v3 .panel-scroll-box > :first-child{
  margin-top:0;
}

@media (max-width:1180px){
  .dashboard-page.dashboard-layout-v3{
    --coord-filter-bottom-gap:26px;
    --panel-workspace-gap:22px;
  }

  .dashboard-page.dashboard-layout-v3 .panel-view-split .panel-view-fixed{
    top:auto;
  }
}

/* =========================================================
   INDEX V26.1 - Galaxy Tab A11 em modo retrato
   Topo compacto e etapas fixas para liberar area util da visita.
   ========================================================= */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  body.field-page{
    --ace-field-topbar-height:96px;
  }

  .field-page .topbar.topbar-v43{
    top:4px;
    width:min(100% - 14px, 828px);
    margin:4px auto 6px;
    border-radius:15px;
  }

  .field-page .topbar-v43 .topbar-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(244px, 302px);
    align-items:center;
    gap:7px;
    padding:7px 8px 4px;
  }

  .field-page .topbar-v43 .topbar-main{
    min-width:0;
    gap:7px;
  }

  .field-page .topbar-v43 .brand-mark{
    width:33px;
    height:33px;
    min-width:33px;
    border-radius:10px;
    font-size:.96rem;
  }

  .field-page .topbar-v43 .brand-copy{
    min-width:0;
  }

  .field-page .topbar-v43 .brand-copy h1{
    max-width:100%;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.92rem;
    line-height:1.08;
  }

  .field-page .topbar-v43 .brand-copy p{
    display:none;
  }

  .field-page .topbar-v43 .topbar-actions{
    display:grid;
    grid-template-columns:minmax(62px, .82fr) minmax(82px, 1fr) minmax(48px, .64fr);
    gap:5px;
    width:100%;
    min-width:0;
    padding:4px;
    border-radius:11px;
    background:rgba(255,255,255,.78);
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .header-sync-btn,
  .field-page .topbar-v43 .chip-logout{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:31px;
    height:31px;
    padding:0 5px;
    border-radius:9px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.66rem;
    line-height:1;
  }

  .field-page .topbar-v43 #syncChip{
    font-size:.64rem;
  }

  .field-page .topbar-v43 #headerSyncBtn{
    font-size:.64rem;
  }

  .field-page .topbar-v43 #logoutBtn{
    font-size:.66rem;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:5px;
    padding:0 8px 7px;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-height:34px;
    height:34px;
    border-radius:9px;
    padding:0 7px;
    font-size:.76rem;
  }

  .field-page .visit-screen .visit-wizard{
    position:sticky;
    top:calc(var(--ace-field-topbar-height) + 4px);
    z-index:130;
    width:min(100% - 14px, 828px);
    margin:0 auto 8px;
    padding:6px;
    border:1px solid rgba(177,201,188,.86);
    border-radius:14px;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 22px rgba(24,54,39,.13);
    backdrop-filter:blur(10px);
  }

  .field-page .visit-screen .visit-wizard-steps{
    display:flex;
    grid-template-columns:none;
    gap:6px;
    min-width:0;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:1px 2px 4px;
    scroll-behavior:smooth;
    scroll-padding-inline:34px;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }

  .field-page .visit-screen .visit-wizard-steps::-webkit-scrollbar{
    height:4px;
  }

  .field-page .visit-screen .visit-wizard-steps::-webkit-scrollbar-thumb{
    background:rgba(33,86,60,.28);
    border-radius:999px;
  }

  .field-page .visit-screen .visit-step-chip{
    flex:0 0 118px;
    min-width:118px;
    min-height:40px;
    max-height:44px;
    display:grid;
    grid-template-columns:24px minmax(0, 1fr);
    align-items:center;
    gap:6px;
    padding:6px 8px;
    border-radius:11px;
    scroll-snap-align:center;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .field-page .visit-screen .visit-step-chip.is-active{
    transform:translateY(-1px) scale(1.02);
    box-shadow:0 8px 18px rgba(33,86,60,.18);
  }

  .field-page .visit-screen .visit-step-chip__number{
    width:24px;
    height:24px;
    min-width:24px;
    border-radius:8px;
    font-size:.7rem;
  }

  .field-page .visit-screen .visit-step-chip__mobile-label{
    display:none;
  }

  .field-page .visit-screen .visit-step-chip__body{
    min-width:0;
    gap:0;
  }

  .field-page .visit-screen .visit-step-chip__body small{
    display:block;
    margin:0 0 1px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.6rem;
    line-height:1.05;
  }

  .field-page .visit-screen .visit-step-chip__body strong{
    display:block;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.74rem;
    line-height:1.08;
  }

  .field-page .visit-screen .visit-step-chip__body > span{
    display:none;
  }

  .field-page .visit-screen .visit-card{
    scroll-margin-top:154px;
  }

  .field-page .visit-screen .visit-property-card{
    margin-top:8px;
  }

  .field-page .visit-screen .visit-property-browser-card .property-list{
    height:calc(100dvh - 354px);
    min-height:600px;
    max-height:790px;
  }

  .field-page #screen-painel .screen-head{
    min-height:0;
    margin:0 0 8px;
    padding:9px 11px;
    border-radius:13px;
  }

  .field-page #screen-painel .screen-head-copy strong{
    font-size:.9rem;
    line-height:1.1;
  }

  .field-page #screen-painel .screen-head-copy span{
    margin-top:2px;
    font-size:.68rem;
    line-height:1.18;
  }

  .field-page #screen-painel .screen-badge{
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:10px;
    font-size:1rem;
  }

  .field-page #screen-painel .offline-ready-card{
    margin:0 0 9px;
    padding:10px 12px;
    border-radius:13px;
  }

  .field-page #screen-painel .offline-ready-card__head{
    gap:8px;
  }

  .field-page #screen-painel .offline-ready-card__head strong{
    font-size:.86rem;
  }

  .field-page #screen-painel .offline-ready-card__head span{
    font-size:.68rem;
    line-height:1.2;
  }

  .field-page #screen-painel .offline-ready-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
    margin-top:8px;
  }

  .field-page #screen-painel .offline-ready-actions .btn{
    min-height:36px;
    padding:0 8px;
    font-size:.72rem;
  }

  .field-page #screen-painel .offline-ready-warning{
    margin-top:7px;
    font-size:.64rem;
    line-height:1.22;
  }

  .field-page #screen-painel .hero-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:7px;
    margin:0 0 9px;
  }

  .field-page #screen-painel .hero-card{
    min-height:72px;
    padding:9px 8px;
    border-radius:12px;
  }

  .field-page #screen-painel .hero-card small{
    font-size:.58rem;
    line-height:1.05;
    letter-spacing:.04em;
    margin-bottom:3px;
  }

  .field-page #screen-painel .hero-card strong{
    font-size:1.34rem;
    line-height:1;
  }

  .field-page #screen-painel .hero-card span{
    margin-top:4px;
    font-size:.62rem;
    line-height:1.14;
  }

  .field-page #screen-painel > .card,
  .field-page #screen-painel .grid.two > .card{
    padding:10px 11px;
    border-radius:13px;
  }

  .field-page #screen-painel .card::before{
    height:3px;
    margin:-10px -11px 8px;
  }

  .field-page #screen-painel .section-title{
    margin:0 0 7px;
    font-size:.76rem;
    line-height:1.1;
    letter-spacing:.06em;
  }

  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:7px;
  }

  .field-page #screen-painel .metric-card{
    min-height:60px;
    padding:8px 6px;
    border-radius:11px;
  }

  .field-page #screen-painel .metric-card::before{
    height:3px;
  }

  .field-page #screen-painel .metric-card small{
    margin:0 0 4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.55rem;
    line-height:1.05;
    letter-spacing:.04em;
  }

  .field-page #screen-painel .metric-card strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:1.15rem;
    line-height:1.05;
  }

  .field-page #screen-painel .dashboard-day-actions{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:7px;
  }

  .field-page #screen-painel .dashboard-day-actions .btn{
    min-height:38px;
    padding:0 8px;
    font-size:.72rem;
  }
}

/* =========================================================
   INDEX V27 - refinamento retrato: topo 1 linha e painel denso.
   ========================================================= */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  body.field-page{
    --ace-field-topbar-height:82px;
  }

  .field-page .topbar.topbar-v43{
    overflow:hidden;
    border-radius:13px;
  }

  .field-page .topbar-v43 .topbar-row{
    display:grid;
    grid-template-columns:34px minmax(0, 1fr);
    gap:6px;
    padding:5px 6px 4px;
  }

  .field-page .topbar-v43 .topbar-main{
    width:34px;
    min-width:34px;
    max-width:34px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .field-page .topbar-v43 .brand-mark{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:9px;
    font-size:.88rem;
  }

  .field-page .topbar-v43 .brand-copy{
    display:none;
  }

  .field-page .topbar-v43 .topbar-actions{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(70px, 86px) minmax(40px, 48px);
    align-items:center;
    gap:4px;
    width:100%;
    min-width:0;
    padding:3px;
    border-radius:10px;
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .header-sync-btn,
  .field-page .topbar-v43 .chip-logout{
    min-height:28px;
    height:28px;
    max-height:28px;
    padding:0 4px;
    border-radius:8px;
    font-size:.58rem;
    letter-spacing:0;
  }

  .field-page .topbar-v43 #syncChip,
  .field-page .topbar-v43 #headerSyncBtn,
  .field-page .topbar-v43 #logoutBtn{
    font-size:.58rem;
  }

  .field-page .topbar-v43 #syncChip{
    justify-content:flex-start;
    padding-left:7px;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    transform:none;
    z-index:auto;
    display:grid;
    width:auto;
    margin:0;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:4px;
    padding:0 6px 5px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:0;
    min-height:29px;
    height:29px;
    padding:0 6px;
    border-radius:8px;
    font-size:.68rem;
  }

  .field-page main{
    padding-bottom:16px;
  }

  .field-page .visit-screen .visit-wizard{
    top:calc(var(--ace-field-topbar-height) + 4px);
    padding:5px;
    margin-bottom:7px;
  }

  .field-page .visit-screen .visit-step-chip{
    flex-basis:108px;
    min-width:108px;
    min-height:36px;
    max-height:39px;
    grid-template-columns:22px minmax(0, 1fr);
    gap:5px;
    padding:5px 7px;
  }

  .field-page .visit-screen .visit-step-chip__number{
    width:22px;
    height:22px;
    min-width:22px;
  }

  .field-page .visit-screen .visit-step-chip__body strong{
    font-size:.69rem;
  }

  .field-page .visit-screen .visit-step-chip__body small{
    font-size:.56rem;
  }

  .field-page #screen-painel .hero-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:6px;
  }

  .field-page #screen-painel .hero-card{
    min-height:60px;
    padding:7px 6px;
    border-radius:10px;
  }

  .field-page #screen-painel .hero-card small{
    font-size:.52rem;
  }

  .field-page #screen-painel .hero-card strong{
    font-size:1.12rem;
  }

  

  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:6px;
  }

  .field-page #screen-painel .metric-card{
    min-height:52px;
    padding:6px 4px;
    border-radius:10px;
  }

  .field-page #screen-painel .metric-card small{
    margin-bottom:3px;
    font-size:.49rem;
  }

  .field-page #screen-painel .metric-card strong{
    font-size:.98rem;
  }

  .field-page #screen-painel .grid.two{
    grid-template-columns:minmax(0, 1fr);
    gap:9px;
  }

  .field-page #screen-painel > .card,
  .field-page #screen-painel .grid.two > .card{
    padding:9px 10px;
  }
}

/* INDEX V27.1 - guia de etapas da visita realmente fixa no retrato. */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page .topbar.topbar-v43{
    position:sticky;
    top:4px;
    z-index:220;
  }

  .field-page #screen-visita.visit-screen{
    padding-top:56px;
  }

  .field-page #screen-visita .visit-wizard{
    position:fixed;
    left:50%;
    top:88px;
    transform:translateX(-50%);
    z-index:190;
    width:min(calc(100vw - 14px), 828px);
    max-width:828px;
    margin:0;
    box-sizing:border-box;
  }

  .field-page #screen-visita .visit-card{
    scroll-margin-top:148px;
  }
}

/* INDEX V29 - painel do agente mais denso para tablet em retrato. */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page #screen-painel .hero-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
    margin:0 0 8px;
  }

  .field-page #screen-painel .hero-card{
    min-height:42px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:"label value";
    align-items:center;
    gap:4px 8px;
    padding:7px 9px;
    border-radius:10px;
    text-align:left;
  }

  .field-page #screen-painel .hero-card small{
    grid-area:label;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.62rem;
    line-height:1;
    letter-spacing:.03em;
  }

  .field-page #screen-painel .hero-card strong{
    grid-area:value;
    min-width:26px;
    text-align:right;
    font-size:1.08rem;
    line-height:1;
  }

  

  .field-page #screen-painel .metric-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:5px 6px;
  }

  .field-page #screen-painel .metric-card{
    min-height:31px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:6px;
    padding:5px 8px;
    border-radius:9px;
    text-align:left;
    box-shadow:none;
  }

  .field-page #screen-painel .metric-card::before{
    width:3px;
    height:auto;
    inset:5px auto 5px 0;
    border-radius:0 999px 999px 0;
  }

  .field-page #screen-painel .metric-card small{
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.58rem;
    line-height:1;
    letter-spacing:.02em;
  }

  .field-page #screen-painel .metric-card strong{
    min-width:24px;
    text-align:right;
    font-size:.88rem;
    line-height:1;
  }
}

/* INDEX V30 - indicadores do painel em 3/4 colunas no tablet retrato. */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page #screen-painel .hero-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:5px;
  }

  .field-page #screen-painel .hero-card{
    min-height:44px;
    grid-template-columns:minmax(0, 1fr);
    grid-template-areas:"value" "label";
    justify-items:center;
    align-content:center;
    gap:3px;
    padding:6px 5px;
    text-align:center;
  }

  .field-page #screen-painel .hero-card strong{
    width:100%;
    min-width:0;
    text-align:center;
    font-size:1.02rem;
  }

  .field-page #screen-painel .hero-card small{
    width:100%;
    text-align:center;
    font-size:.52rem;
  }

  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:5px;
  }

  .field-page #screen-painel .metric-card{
    min-height:46px;
    grid-template-columns:minmax(0, 1fr);
    justify-items:center;
    align-content:center;
    gap:3px;
    padding:6px 5px;
    text-align:center;
  }

  .field-page #screen-painel .metric-card::before{
    width:auto;
    height:3px;
    inset:0 7px auto 7px;
    border-radius:0 0 999px 999px;
  }

  .field-page #screen-painel .metric-card small{
    width:100%;
    text-align:center;
    font-size:.50rem;
  }

  .field-page #screen-painel .metric-card strong{
    width:100%;
    min-width:0;
    text-align:center;
    font-size:.86rem;
  }
}

@media (min-width:721px) and (max-width:760px) and (orientation:portrait){
  .field-page #screen-painel .hero-grid,
  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

/* INDEX V37 - tela inicial sem icone visual antigo. */
.field-page .login-card > .brand-mark{
  display:none;
}


/* =========================================================
   INDEX V31 - Etapa 1: aba Visita otimizada para Galaxy Tab A11 8,7".
   Foco: topo menor, filtros compactos e lista de imóveis com mais área útil.
   ========================================================= */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  body.field-page{
    --ace-field-topbar-height:76px;
  }

  .field-page .topbar.topbar-v43{
    top:3px;
    width:min(calc(100vw - 10px), 838px);
    margin:3px auto 4px;
    border-radius:12px;
    box-shadow:0 8px 18px rgba(17,50,33,.18);
  }

  .field-page .topbar-v43 .topbar-row{
    grid-template-columns:30px minmax(0,1fr);
    gap:5px;
    padding:4px 5px 3px;
  }

  .field-page .topbar-v43 .topbar-main{
    width:30px;
    min-width:30px;
    max-width:30px;
  }

  .field-page .topbar-v43 .brand-mark{
    width:28px;
    height:28px;
    min-width:28px;
    border-radius:8px;
    font-size:.82rem;
  }

  .field-page .topbar-v43 .topbar-actions{
    grid-template-columns:minmax(0,1fr) minmax(64px,82px) minmax(38px,44px);
    gap:4px;
    padding:2px;
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .header-sync-btn,
  .field-page .topbar-v43 .chip-logout{
    min-height:26px;
    height:26px;
    max-height:26px;
    padding:0 4px;
    font-size:.56rem;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-height:27px;
    height:27px;
    font-size:.66rem;
  }

  .field-page #screen-visita.visit-screen{
    padding-top:46px;
  }

  .field-page #screen-visita .visit-wizard{
    top:80px;
    width:min(calc(100vw - 10px), 838px);
    padding:4px;
    border-radius:11px;
  }

  .field-page #screen-visita .visit-step-chip{
    flex-basis:98px;
    min-width:98px;
    min-height:32px;
    max-height:35px;
    grid-template-columns:20px minmax(0,1fr);
    gap:4px;
    padding:4px 6px;
    border-radius:9px;
  }

  .field-page #screen-visita .visit-step-chip__number{
    width:20px;
    height:20px;
    min-width:20px;
    border-radius:7px;
    font-size:.62rem;
  }

  .field-page #screen-visita .visit-step-chip__body small{
    display:none;
  }

  .field-page #screen-visita .visit-step-chip__body strong{
    font-size:.66rem;
  }

  .field-page #screen-visita .visit-card{
    padding:10px 10px;
    margin-bottom:8px;
    border-radius:13px;
    scroll-margin-top:134px;
  }

  .field-page #screen-visita .visit-property-card > .section-title{
    margin-bottom:6px;
    font-size:.78rem;
  }

  .field-page #screen-visita .visit-property-browser-card{
    padding:8px;
    border-radius:12px;
  }

  .field-page #screen-visita .visit-property-browser-card .section-title--compact{
    display:none;
  }

  .field-page #screen-visita .property-query-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr);
    gap:7px;
    align-items:end;
  }

  .field-page #screen-visita .property-query-grid .field{
    margin:0;
  }

  .field-page #screen-visita .property-query-grid label{
    margin:0 0 3px;
    font-size:.58rem;
    letter-spacing:.04em;
  }

  .field-page #screen-visita #propertySearch,
  .field-page #screen-visita #propertySort{
    min-height:34px;
    height:34px;
    padding:0 10px;
    border-radius:9px;
    font-size:.82rem;
  }

  .field-page #screen-visita .property-query-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) 74px 54px;
    align-items:center;
    gap:6px;
    margin-top:7px;
  }

  .field-page #screen-visita .property-query-summary{
    min-height:32px;
    padding:6px 8px;
    border-radius:9px;
  }

  .field-page #screen-visita .property-query-summary strong{
    font-size:.58rem;
    line-height:1;
  }

  .field-page #screen-visita .property-query-summary span{
    margin-top:2px;
    font-size:.68rem;
    line-height:1.05;
  }

  .field-page #screen-visita .property-query-actions .btn{
    min-height:32px;
    height:32px;
    padding:0 7px;
    border-radius:9px;
    font-size:.66rem;
  }

  .field-page #screen-visita .visit-property-browser-card .property-list{
    height:calc(100dvh - 260px);
    min-height:520px;
    max-height:760px;
    margin-top:7px;
    border-radius:12px;
  }

  .field-page #screen-visita .property-list-head{
    padding:6px 7px;
    position:sticky;
    top:0;
    z-index:2;
    background:rgba(246,250,248,.96);
    backdrop-filter:blur(8px);
  }

  .field-page #screen-visita .property-list-filters{
    display:flex;
    gap:5px;
    overflow-x:auto;
    padding-bottom:2px;
  }

  .field-page #screen-visita .property-filter-btn{
    flex:0 0 auto;
    min-height:28px;
    padding:4px 7px;
    border-radius:999px;
    font-size:.62rem;
    white-space:nowrap;
  }

  .field-page #screen-visita .property-filter-btn span{
    min-width:18px;
    height:18px;
    padding:0 4px;
    font-size:.58rem;
  }

  .field-page #screen-visita .property-list-body{
    gap:6px;
    padding:7px;
  }

  .field-page #screen-visita .property-result-card{
    border-radius:11px;
    padding:8px 8px 8px 10px;
    box-shadow:none;
  }

  .field-page #screen-visita .property-result-card::before{
    width:4px;
  }

  .field-page #screen-visita .property-card-row-secretaria{
    display:grid;
    grid-template-columns:minmax(0,1fr) 78px;
    gap:8px;
    align-items:center;
  }

  .field-page #screen-visita .property-card-title{
    margin:0 0 2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.86rem;
    line-height:1.1;
  }

  .field-page #screen-visita .property-card-address,
  .field-page #screen-visita .property-card-secretaria-line{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.68rem;
    line-height:1.16;
  }

  .field-page #screen-visita .property-card-badges{
    display:flex;
    gap:4px;
    margin-top:4px;
    overflow:hidden;
    white-space:nowrap;
  }

  .field-page #screen-visita .property-card-badges .badge{
    max-width:94px;
    padding:2px 5px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:.55rem;
  }

  .field-page #screen-visita .property-card-actions-bottom{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    min-width:0;
  }

  .field-page #screen-visita .property-card-actions-bottom .btn{
    min-height:29px;
    height:29px;
    padding:0 5px;
    border-radius:8px;
    font-size:.62rem;
  }

  .field-page #screen-visita .visit-selected-card{
    margin-top:7px;
    padding:8px;
    border-radius:11px;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  .field-page #screen-visita.visit-screen{
    max-width:1280px;
    padding-top:10px;
  }

  .field-page #screen-visita .visit-property-browser-card{
    padding:10px 12px;
  }

  .field-page #screen-visita .property-query-grid{
    grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);
    gap:10px;
  }

  .field-page #screen-visita .property-query-actions{
    grid-template-columns:minmax(0,1fr) 120px 90px;
    gap:8px;
    margin-top:8px;
  }

  .field-page #screen-visita .visit-property-browser-card .property-list{
    height:calc(100dvh - 250px);
    min-height:390px;
    margin-top:8px;
  }

  .field-page #screen-visita .property-card-row-secretaria{
    grid-template-columns:minmax(0,1fr) 180px;
  }

  .field-page #screen-visita .property-card-actions-bottom{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
}


/* =========================================================
   INDEX V31 - Etapa 2: formulários da visita compactos no Galaxy Tab A11.
   Foco: menos rolagem, botões de toque seguros e resumo mais denso.
   ========================================================= */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page #screen-visita .selected-card-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
  }

  .field-page #screen-visita .selected-card-top strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.86rem;
  }

  .field-page #screen-visita .selected-card-top span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.66rem;
  }

  .field-page #screen-visita .selected-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    margin-top:6px;
  }

  .field-page #screen-visita .selected-card-item{
    min-height:34px;
    padding:5px 7px;
    border-radius:8px;
  }

  .field-page #screen-visita .selected-card-item small{
    font-size:.52rem;
    line-height:1;
  }

  .field-page #screen-visita .selected-card-item strong{
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.68rem;
    line-height:1.05;
  }

  .field-page #screen-visita .selected-card-pills,
  .field-page #screen-visita .selected-card-alerts{
    margin-top:5px;
    gap:4px;
    overflow:hidden;
    max-height:27px;
  }

  .field-page #screen-visita .selected-card-pills .meta-pill,
  .field-page #screen-visita .selected-card-pills .status-pill,
  .field-page #screen-visita .selected-card-alerts .status-pill{
    padding:3px 6px;
    font-size:.56rem;
    max-width:170px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .field-page #screen-visita .selected-card-history{
    display:none;
  }

  .field-page #screen-visita .selected-card-footer{
    margin-top:6px;
  }

  .field-page #screen-visita .selected-card-start-btn{
    min-height:34px;
    height:34px;
    padding:0 10px;
    font-size:.72rem;
    border-radius:9px;
  }

  .field-page #screen-visita .visit-data-card,
  .field-page #screen-visita .visit-deposit-card,
  .field-page #screen-visita .visit-treatment-card,
  .field-page #screen-visita .visit-summary-card{
    padding:10px;
  }

  .field-page #screen-visita .visit-data-card .section-title,
  .field-page #screen-visita .visit-deposit-card .section-title,
  .field-page #screen-visita .visit-treatment-card .section-title,
  .field-page #screen-visita .visit-summary-card .section-title{
    margin:0 0 7px;
    font-size:.78rem;
    line-height:1.1;
  }

  .field-page #screen-visita .field{
    margin-bottom:7px;
  }

  .field-page #screen-visita .grid.two{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:7px;
  }

  .field-page #screen-visita label{
    margin:0 0 4px;
    font-size:.62rem;
    line-height:1.05;
  }

  .field-page #screen-visita input,
  .field-page #screen-visita select,
  .field-page #screen-visita textarea{
    min-height:36px;
    border-radius:9px;
    padding:7px 9px;
    font-size:.80rem;
  }

  .field-page #screen-visita textarea{
    min-height:78px;
  }

  .field-page #screen-visita .field-help{
    margin-top:3px;
    font-size:.58rem;
    line-height:1.15;
  }

  .field-page #screen-visita #visitDate + .field-help,
  .field-page #screen-visita #visitTime + .field-help{
    display:none;
  }

  .field-page #screen-visita .choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .field-page #screen-visita #waterAccessChoices,
  .field-page #screen-visita #waterTreatmentChoices,
  .field-page #screen-visita #depositFoundChoices,
  .field-page #screen-visita #visitLadderSupportChoices{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .field-page #screen-visita .choice-btn{
    min-height:38px;
    padding:5px 7px;
    border-radius:10px;
    font-size:.78rem;
    line-height:1.05;
  }

  .field-page #screen-visita .choice-btn span{
    display:none;
  }

  .field-page #screen-visita .visit-step-gate{
    margin:6px 0 8px;
  }

  .field-page #screen-visita .visit-step-gate-field{
    padding:8px;
    border-radius:10px;
  }

  .field-page #screen-visita .deposit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .field-page #screen-visita .deposit-card{
    gap:7px;
    min-height:0;
    padding:9px;
    border-radius:12px;
  }

  .field-page #screen-visita .deposit-top{
    gap:7px;
  }

  .field-page #screen-visita .deposit-top strong{
    font-size:.78rem;
    line-height:1.1;
  }

  .field-page #screen-visita .deposit-top span{
    margin-top:2px;
    font-size:.58rem;
    line-height:1.08;
  }

  .field-page #screen-visita .deposit-total{
    min-width:40px;
    min-height:40px;
    border-radius:10px;
    font-size:1.05rem;
  }

  .field-page #screen-visita .deposit-focus-box,
  .field-page #screen-visita .deposit-details{
    gap:7px;
    padding:7px;
    border-radius:10px;
  }

  .field-page #screen-visita .deposit-inline-row{
    gap:7px;
  }

  .field-page #screen-visita .deposit-inline-row > span,
  .field-page #screen-visita .check-row label{
    font-size:.68rem;
    line-height:1.05;
  }

  .field-page #screen-visita .stepper button{
    width:30px;
    min-width:30px;
    height:30px;
    min-height:30px;
    border-radius:8px;
    font-size:.96rem;
  }

  .field-page #screen-visita .deposit-stepper-value{
    min-width:30px;
    height:30px;
    font-size:.82rem;
  }

  .field-page #screen-visita .deposit-treatment-box,
  .field-page #screen-visita .deposit-tubitos-inline{
    margin-top:6px;
    padding:7px;
  }

  .field-page #screen-visita .visit-focus-total{
    margin-top:7px;
    padding:8px;
    border-radius:10px;
  }

  .field-page #screen-visita .visit-summary-receipt{
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    padding:8px;
    border-radius:9px;
  }

  .field-page #screen-visita .visit-summary-receipt strong{
    font-size:.82rem;
    line-height:1.1;
  }

  .field-page #screen-visita .visit-summary-receipt small,
  .field-page #screen-visita .visit-summary-receipt span{
    font-size:.58rem;
    line-height:1.05;
  }

  .field-page #screen-visita .visit-summary-status{
    padding:5px 7px;
    border-radius:8px;
    font-size:.64rem;
  }

  .field-page #screen-visita .visit-summary-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
  }

  .field-page #screen-visita .visit-summary-mini-card{
    min-height:52px;
    padding:7px;
    border-radius:9px;
  }

  .field-page #screen-visita .visit-summary-mini-card span{
    font-size:.52rem;
  }

  .field-page #screen-visita .visit-summary-mini-card strong{
    font-size:.70rem;
    line-height:1.1;
  }

  .field-page #screen-visita .visit-final-actions{
    display:grid;
    grid-template-columns:1fr 1.35fr;
    gap:7px;
    margin-top:8px;
  }

  .field-page #screen-visita .visit-final-actions .btn{
    min-height:40px;
    height:40px;
    font-size:.78rem;
    border-radius:10px;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  .field-page #screen-visita .visit-data-card .grid.two{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .field-page #screen-visita .choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .field-page #screen-visita .deposit-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .field-page #screen-visita .visit-summary-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .field-page #screen-visita .selected-card-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }

  .field-page #screen-visita .selected-card-history-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* =========================================================
   INDEX V31 - Etapa 3: aba Imóveis compacta para cadastro no Galaxy Tab A11.
   Foco: formulário em blocos menores, duas colunas e ações sempre acessíveis.
   ========================================================= */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page #screen-imoveis.properties-screen{
    max-width:838px;
    padding:8px 5px 0;
  }

  .field-page #screen-imoveis .property-form-card--solo{
    padding:10px;
    border-radius:13px;
  }

  .field-page #screen-imoveis .property-form-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
  }

  .field-page #screen-imoveis .property-form-title-wrap{
    min-width:0;
  }

  .field-page #screen-imoveis .property-form-title-wrap .section-title{
    margin:0;
    font-size:.86rem;
    line-height:1.1;
  }

  .field-page #screen-imoveis .property-form-section{
    padding:8px;
    border-radius:11px;
    margin-bottom:7px;
  }

  .field-page #screen-imoveis .property-form-section__heading{
    margin-bottom:6px;
  }

  .field-page #screen-imoveis .property-form-section__heading h3{
    margin:0;
    font-size:.70rem;
    line-height:1.1;
  }

  .field-page #screen-imoveis .property-form-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:7px;
  }

  .field-page #screen-imoveis .property-field-morador{grid-column:span 4;}
  .field-page #screen-imoveis .property-field-telefone{grid-column:span 2;}
  .field-page #screen-imoveis .property-field-bairro{grid-column:span 2;}
  .field-page #screen-imoveis .property-field-logradouro{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-numero{grid-column:span 1;}
  .field-page #screen-imoveis .property-field-tipo{grid-column:span 2;}
  .field-page #screen-imoveis .property-field-complemento{grid-column:span 2;}
  .field-page #screen-imoveis .property-field-referencia{grid-column:span 2;}
  .field-page #screen-imoveis .property-field-microarea{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-quarteirao{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-obs{grid-column:1 / -1;}

  .field-page #screen-imoveis .field{
    margin-bottom:0;
  }

  .field-page #screen-imoveis label{
    margin:0 0 4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.60rem;
    line-height:1.05;
  }

  .field-page #screen-imoveis input,
  .field-page #screen-imoveis select,
  .field-page #screen-imoveis textarea{
    min-height:36px;
    height:auto;
    padding:7px 9px;
    border-radius:9px;
    font-size:.78rem;
  }

  .field-page #screen-imoveis textarea{
    min-height:68px;
  }

  .field-page #screen-imoveis .field-help{
    margin-top:3px;
    font-size:.56rem;
    line-height:1.12;
  }

  .field-page #screen-imoveis .street-suggestion{
    padding:5px 6px;
    border-radius:8px;
  }

  .field-page #screen-imoveis .property-form-actions--refined{
    position:sticky;
    bottom:6px;
    z-index:70;
    display:grid;
    grid-template-columns:.72fr 1fr .78fr .78fr;
    gap:6px;
    margin-top:8px;
    padding:7px;
    border:1px solid rgba(24,60,44,.12);
    border-radius:12px;
    background:rgba(247,250,248,.96);
    box-shadow:0 10px 24px rgba(24,60,44,.16);
    backdrop-filter:blur(10px);
  }

  .field-page #screen-imoveis .property-form-actions--refined .btn{
    min-height:38px;
    height:38px;
    min-width:0;
    padding:0 6px;
    border-radius:10px;
    font-size:.66rem;
    line-height:1.05;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  .field-page #screen-imoveis.properties-screen{
    max-width:1260px;
    padding-top:10px;
  }

  .field-page #screen-imoveis .property-form-card--solo{
    padding:14px;
  }

  .field-page #screen-imoveis .property-form-grid{
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:10px;
  }

  .field-page #screen-imoveis .property-form-section{
    padding:10px;
  }

  .field-page #screen-imoveis .property-field-morador{grid-column:span 5;}
  .field-page #screen-imoveis .property-field-telefone{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-bairro{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-logradouro{grid-column:span 6;}
  .field-page #screen-imoveis .property-field-numero{grid-column:span 2;}
  .field-page #screen-imoveis .property-field-tipo{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-complemento{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-referencia{grid-column:span 6;}
  .field-page #screen-imoveis .property-field-microarea{grid-column:span 4;}
  .field-page #screen-imoveis .property-field-quarteirao{grid-column:span 3;}
  .field-page #screen-imoveis .property-field-obs{grid-column:span 12;}

  .field-page #screen-imoveis textarea{
    min-height:72px;
  }

  .field-page #screen-imoveis .property-form-actions--refined{
    display:grid;
    grid-template-columns:130px 1fr 110px 120px;
    gap:8px;
  }
}


/* =========================================================
   INDEX V31 - Etapa 4: painel do agente compacto no Galaxy Tab A11.
   Foco: prontidão offline, indicadores, pendências e sincronização visíveis.
   ========================================================= */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  .field-page #screen-painel{
    max-width:838px;
    padding:8px 5px 0;
  }

  .field-page #screen-painel .screen-head{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 32px;
    gap:7px;
    margin:0 0 7px;
    padding:7px 9px;
    border-radius:11px;
  }

  .field-page #screen-painel .screen-head-copy strong{
    font-size:.82rem;
    line-height:1.05;
  }

  .field-page #screen-painel .screen-head-copy span{
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.60rem;
    line-height:1.05;
  }

  .field-page #screen-painel .screen-badge{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:9px;
    font-size:.88rem;
  }

  .field-page #screen-painel .offline-ready-card{
    margin:0 0 7px;
    padding:8px;
    border-left-width:4px;
    border-radius:11px;
    box-shadow:0 8px 18px rgba(21,55,37,.08);
  }

  .field-page #screen-painel .offline-ready-card__head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:7px;
  }

  .field-page #screen-painel .offline-ready-card__head strong{
    font-size:.78rem;
    line-height:1.05;
  }

  .field-page #screen-painel .offline-ready-card__head span:not(.offline-ready-badge){
    margin-top:2px;
    font-size:.58rem;
    line-height:1.12;
  }

  .field-page #screen-painel .offline-ready-badge{
    padding:3px 7px;
    font-size:.56rem;
  }

  .field-page #screen-painel .offline-ready-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 7px;
    margin-top:6px;
    font-size:.58rem;
    line-height:1.08;
  }

  .field-page #screen-painel .offline-ready-meta span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .field-page #screen-painel .offline-ready-checks{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    margin-top:7px;
    max-height:128px;
    overflow:auto;
    padding-right:2px;
  }

  .field-page #screen-painel .offline-ready-check{
    min-height:38px;
    padding:5px 6px;
    border-radius:8px;
  }

  .field-page #screen-painel .offline-ready-check__status{
    margin-right:4px;
    padding:1px 4px;
    font-size:.48rem;
  }

  .field-page #screen-painel .offline-ready-check__label{
    font-size:.56rem;
    line-height:1;
  }

  .field-page #screen-painel .offline-ready-check small{
    display:none;
  }

  .field-page #screen-painel .offline-ready-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin-top:7px;
  }

  .field-page #screen-painel .offline-ready-actions .btn{
    min-height:34px;
    height:34px;
    padding:0 7px;
    border-radius:9px;
    font-size:.66rem;
  }

  .field-page #screen-painel .offline-ready-warning{
    margin-top:5px;
    font-size:.52rem;
    line-height:1.12;
  }

  .field-page #screen-painel .hero-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    margin:0 0 7px;
  }

  .field-page #screen-painel .hero-card{
    min-height:50px;
    padding:6px 5px;
    border-radius:10px;
    box-shadow:none;
  }

  .field-page #screen-painel .hero-card::before{
    height:3px;
  }

  .field-page #screen-painel .hero-card small{
    margin:0 0 3px;
    font-size:.48rem;
    line-height:1;
  }

  .field-page #screen-painel .hero-card strong{
    font-size:1.02rem;
    line-height:1;
  }

  .field-page #screen-painel .hero-card span{
    display:none;
  }

  .field-page #screen-painel > .card,
  .field-page #screen-painel .grid.two > .card{
    padding:8px;
    border-radius:11px;
    margin-bottom:7px;
  }

  .field-page #screen-painel .card::before{
    height:3px;
    margin:-8px -8px 6px;
  }

  .field-page #screen-painel .section-title{
    margin:0 0 6px;
    font-size:.68rem;
    line-height:1.05;
  }

  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
  }

  .field-page #screen-painel .metric-card{
    min-height:42px;
    padding:5px 4px;
    border-radius:9px;
    box-shadow:none;
  }

  .field-page #screen-painel .metric-card::before{
    height:2px;
    inset:0 6px auto 6px;
  }

  .field-page #screen-painel .metric-card small{
    margin-bottom:2px;
    font-size:.46rem;
    line-height:1;
  }

  .field-page #screen-painel .metric-card strong{
    font-size:.82rem;
    line-height:1;
  }

  .field-page #screen-painel .grid.two{
    grid-template-columns:1fr;
    gap:7px;
  }

  .field-page #screen-painel .ranking-list,
  .field-page #screen-painel .insight-list{
    display:grid;
    gap:5px;
    min-height:0;
    max-height:132px;
    overflow:auto;
    padding-right:2px;
  }

  .field-page #screen-painel .ranking-card,
  .field-page #screen-painel .insight-card{
    padding:7px;
    border-radius:9px;
  }

  .field-page #screen-painel .ranking-card strong,
  .field-page #screen-painel .insight-card strong{
    font-size:.72rem;
    line-height:1.1;
  }

  .field-page #screen-painel .ranking-card span,
  .field-page #screen-painel .insight-card span,
  .field-page #screen-painel .ranking-card small,
  .field-page #screen-painel .insight-card small{
    font-size:.58rem;
    line-height:1.14;
  }

  .field-page #screen-painel .panel-card-note{
    margin:0 0 6px;
    font-size:.58rem;
    line-height:1.16;
  }

  .field-page #screen-painel .dashboard-day-actions{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
  }

  .field-page #screen-painel .dashboard-day-actions .btn{
    min-height:34px;
    height:34px;
    padding:0 4px;
    border-radius:9px;
    font-size:.60rem;
    line-height:1.05;
  }

  .field-page #screen-painel .table-wrap{
    max-height:168px;
    overflow:auto;
    border-radius:10px;
  }

  .field-page #screen-painel table{
    font-size:.62rem;
  }

  .field-page #screen-painel th,
  .field-page #screen-painel td{
    padding:5px 6px;
    line-height:1.12;
  }

  .field-page #screen-painel .panel-agent-visits-table th:nth-child(5),
  .field-page #screen-painel .panel-agent-visits-table td:nth-child(5),
  .field-page #screen-painel .panel-agent-visits-table th:nth-child(6),
  .field-page #screen-painel .panel-agent-visits-table td:nth-child(6){
    display:none;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  .field-page #screen-painel{
    max-width:1260px;
    padding-top:10px;
  }

  .field-page #screen-painel .offline-ready-checks{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .field-page #screen-painel .hero-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }

  .field-page #screen-painel .grid.two{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .field-page #screen-painel .dashboard-day-actions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}



/* =========================================================
   INDEX V32 - acabamento visual de aplicativo para Galaxy Tab A11.
   Foco: fundo sólido, cabeçalho opaco e camadas sem conteúdo vazando.
   ========================================================= */
body.field-page{
  min-height:100dvh;
  background:#e6eee9;
  color:#17231c;
}

body.field-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,#e1ebe5 0%,#eef4f0 42%,#e6eee9 100%),
    radial-gradient(circle at 18% 8%, rgba(31,110,63,.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(37,99,235,.07), transparent 30%);
}

.field-page .page-shell.ace-shell{
  min-height:100dvh;
  overflow-x:hidden;
  isolation:isolate;
  background:#edf3ef;
}

.field-page .topbar.topbar-v43{
  position:sticky;
  top:0;
  left:0;
  right:0;
  z-index:600;
  width:100%;
  max-width:none;
  margin:0 0 12px;
  overflow:hidden;
  isolation:isolate;
  border:0;
  border-radius:0 0 22px 22px;
  background-color:#115d34;
  background-image:linear-gradient(180deg,#0b522d 0%,#116334 100%);
  background-clip:padding-box;
  box-shadow:0 12px 28px rgba(10,32,22,.22);
  backdrop-filter:none;
}

.field-page .topbar.topbar-v43::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 42%),
    radial-gradient(circle at 90% 0%, rgba(255,255,255,.12), transparent 28%);
}

.field-page .topbar.topbar-v43::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  display:block;
  background:rgba(255,255,255,.16);
}



.field-page .topbar-v43 .chip,
.field-page .topbar-v43 .header-sync-btn,
.field-page .topbar-v43 .chip-logout{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
  color:#fff;
  box-shadow:none;
}

.field-page .nav-tabs-v43{
  background:rgba(5,46,27,.34);
  border-top:1px solid rgba(255,255,255,.08);
}

.field-page .nav-tabs-v43 .tab-btn{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.12);
  color:rgba(255,255,255,.92);
  box-shadow:none;
}

.field-page .nav-tabs-v43 .tab-btn.active{
  background:#ffffff;
  border-color:#ffffff;
  color:#0d3f26;
  box-shadow:0 7px 16px rgba(5,35,22,.18);
}

.field-page main{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding:0 16px 32px;
  background:transparent;
}

.field-page .screen.active{
  background:#f7faf8;
  border:1px solid rgba(178,196,185,.74);
  border-radius:24px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 12px 28px rgba(24,60,44,.08);
}

.field-page .card,
.field-page .ace-card,
.field-page .hero-card,
.field-page .metric-card{
  background:#ffffff;
  border-color:rgba(178,196,185,.76);
}

.field-page .visit-screen .visit-wizard,
.field-page .property-list-head,
.field-page #screen-visita .property-list-head,
.field-page #screen-painel .panel-agent-visits-card thead th,
.field-page .visit-final-actions,
.field-page .visit-screen .selected-card-footer,
.field-page #screen-imoveis .property-form-actions--refined{
  background:#ffffff;
  backdrop-filter:none;
  box-shadow:0 8px 18px rgba(24,60,44,.10);
}

.field-page .property-list,
.field-page .property-list-body,
.field-page .table-wrap,
.field-page .offline-ready-checks{
  background:#f8fbf9;
}

@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  body.field-page{
    --ace-field-topbar-height:74px;
    background:#e6eee9;
  }

  .field-page .page-shell.ace-shell{
    background:#edf3ef;
  }

  .field-page .topbar.topbar-v43{
    top:0;
    width:100vw;
    max-width:100vw;
    margin:0 0 8px;
    border-radius:0 0 14px 14px;
    box-shadow:0 8px 18px rgba(10,32,22,.24);
  }

  .field-page .topbar-v43 .topbar-row{
    padding:5px 8px 4px;
  }

  .field-page .nav-tabs-v43{
    padding:4px 8px 6px;
  }

  

  .field-page .screen.active{
    min-height:calc(100dvh - 88px);
    padding:8px;
    border-radius:16px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      0 8px 18px rgba(24,60,44,.08);
  }

  

  .field-page #screen-visita .visit-wizard,
  .field-page .visit-screen .visit-wizard{
    top:calc(var(--ace-field-topbar-height) + 2px);
    width:100%;
    margin:0 0 8px;
    border-radius:12px;
    background:#ffffff;
    border-color:rgba(178,196,185,.86);
    z-index:520;
  }

  .field-page #screen-visita .property-list-head{
    background:#f7faf8;
    border-bottom:1px solid rgba(178,196,185,.82);
  }

  .field-page .visit-card,
  .field-page .visit-property-browser-card,
  .field-page #screen-imoveis .card,
  .field-page #screen-painel .card{
    border-radius:13px;
  }
}

@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  body.field-page{
    background:#dfe9e3;
  }

  .field-page .page-shell.ace-shell{
    max-width:1280px;
    margin:0 auto;
    background:#eef4f0;
    box-shadow:0 0 0 1px rgba(178,196,185,.72), 0 22px 54px rgba(24,60,44,.18);
  }

  .field-page .topbar.topbar-v43{
    border-radius:0 0 20px 20px;
  }

  

  .field-page .screen.active{
    padding:12px;
  }
}
/* =========================================================
   INDEX V33 - tema claro de alto contraste + cabeçalho opaco.
   Alvo: Samsung Galaxy Tab A11 8,7".
   Mantém o INDEX com cara de aplicativo de tablet:
   fundo sólido, cards brancos, texto escuro e ações principais verdes.
   ========================================================= */
body.field-page{
  --ace-app-bg:#f3f6f4;
  --ace-app-bg-strong:#e8eee9;
  --ace-app-surface:#ffffff;
  --ace-app-surface-soft:#f8faf9;
  --ace-app-text:#111827;
  --ace-app-muted:#374151;
  --ace-app-muted-2:#4b5563;
  --ace-app-border:#c9d3ce;
  --ace-app-border-strong:#9ca8a1;
  --ace-app-green:#14532d;
  --ace-app-green-2:#166534;
  --ace-app-green-soft:#e8f5ec;
  --ace-app-blue:#1d4ed8;
  --ace-app-warning:#92400e;
  --ace-app-danger:#b91c1c;
  --ace-app-radius:18px;
  --ace-app-shadow:0 10px 24px rgba(17,24,39,.08);
  --ace-app-shadow-soft:0 4px 14px rgba(17,24,39,.07);
  min-height:100dvh;
  background:var(--ace-app-bg);
  color:var(--ace-app-text);
}

body.field-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,#f8faf9 0%,#eef3ef 44%,#e8eee9 100%);
}

.field-page .page-shell.ace-shell{
  min-height:100dvh;
  overflow-x:hidden;
  isolation:isolate;
  background:var(--ace-app-bg);
}

/* Cabeçalho branco, sólido e acima de todo o conteúdo. */
.field-page .topbar.topbar-v43{
  position:sticky;
  top:0;
  left:0;
  right:0;
  z-index:1200;
  width:100%;
  max-width:none;
  margin:0 0 12px;
  overflow:visible;
  isolation:isolate;
  border:0;
  border-bottom:1px solid var(--ace-app-border);
  border-radius:0;
  background:#ffffff;
  background-image:none;
  background-clip:border-box;
  box-shadow:0 6px 18px rgba(17,24,39,.10);
  backdrop-filter:none;
}

.field-page .topbar.topbar-v43::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:#ffffff;
}

.field-page .topbar.topbar-v43::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  display:block;
  background:linear-gradient(90deg,var(--ace-app-green),#22c55e);
}

.field-page .topbar-v43 .topbar-row,
.field-page .topbar-v43 .nav-tabs,
.field-page .topbar-v43 .nav-tabs-v43{
  position:relative;
  z-index:1;
}

.field-page .topbar-v43 .topbar-row{
  padding:12px 18px 9px;
  background:#ffffff;
}

.field-page .topbar-v43 .topbar-main{
  gap:12px;
}

.field-page .topbar-v43 .brand-mark{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:13px;
  background:var(--ace-app-green);
  border:1px solid var(--ace-app-green);
  color:#ffffff;
  box-shadow:none;
}

.field-page .topbar-v43 .brand-copy h1{
  color:var(--ace-app-text);
  font-size:1.14rem;
  line-height:1.12;
  font-weight:900;
}

.field-page .topbar-v43 .brand-copy p{
  margin-top:3px;
  color:var(--ace-app-muted);
  font-size:.82rem;
  line-height:1.2;
  font-weight:700;
}

.field-page .topbar-v43 .topbar-actions{
  gap:8px;
}

.field-page .topbar-v43 .chip,
.field-page .topbar-v43 .header-sync-btn,
.field-page .topbar-v43 .chip-logout{
  min-height:40px;
  height:40px;
  padding:0 12px;
  border-radius:11px;
  background:#ffffff;
  border:1px solid var(--ace-app-border-strong);
  color:var(--ace-app-text);
  font-size:.82rem;
  font-weight:900;
  box-shadow:none;
}

.field-page .topbar-v43 .header-sync-btn{
  background:var(--ace-app-green);
  border-color:var(--ace-app-green);
  color:#ffffff;
}

.field-page .topbar-v43 .chip-queue{
  background:var(--ace-app-green-soft);
  border-color:#93c5a0;
  color:#0f3d24;
}

.field-page .topbar-v43 .chip-logout{
  color:#7f1d1d;
  border-color:#f0aaa7;
  background:#fff7f7;
}

.field-page .nav-tabs.nav-tabs-v43{
  max-width:1360px;
  margin:0 auto;
  padding:0 18px 10px;
  gap:8px;
  background:#ffffff;
  border-top:1px solid #edf1ee;
}

.field-page .nav-tabs-v43 .tab-btn{
  min-height:42px;
  min-width:112px;
  padding:0 14px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid var(--ace-app-border-strong);
  color:var(--ace-app-text);
  font-size:.9rem;
  font-weight:900;
  box-shadow:none;
}

.field-page .nav-tabs-v43 .tab-btn.active{
  background:var(--ace-app-green);
  border-color:var(--ace-app-green);
  color:#ffffff;
  box-shadow:0 4px 12px rgba(20,83,45,.22);
}

.field-page main{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding:0 14px 32px;
  background:transparent;
}

.field-page .screen.active{
  background:var(--ace-app-surface-soft);
  border:1px solid var(--ace-app-border);
  border-radius:22px;
  box-shadow:var(--ace-app-shadow);
}

.field-page .card,
.field-page .ace-card,
.field-page .hero-card,
.field-page .metric-card,
.field-page .visit-card,
.field-page .property-browser-card,
.field-page .visit-property-browser-card,
.field-page .selected-card,
.field-page .visit-selected-card{
  background:var(--ace-app-surface);
  border:1px solid var(--ace-app-border);
  color:var(--ace-app-text);
  box-shadow:var(--ace-app-shadow-soft);
}

.field-page .section-title,
.field-page .ace-section-title,
.field-page h1,
.field-page h2,
.field-page h3,
.field-page strong{
  color:var(--ace-app-text);
}

.field-page p,
.field-page span,
.field-page small,
.field-page .field-help,
.field-page .muted,
.field-page .visit-step-hint{
  color:var(--ace-app-muted);
}

.field-page label,
.field-page .ace-field label{
  color:var(--ace-app-text);
  font-weight:900;
}

.field-page input,
.field-page select,
.field-page textarea,
.field-page .ace-field input,
.field-page .ace-field select,
.field-page .ace-field textarea{
  background:#ffffff;
  color:var(--ace-app-text);
  border:1px solid var(--ace-app-border-strong);
  box-shadow:none;
}

.field-page input:focus,
.field-page select:focus,
.field-page textarea:focus{
  border-color:var(--ace-app-green);
  outline:3px solid rgba(20,83,45,.15);
  outline-offset:1px;
}

.field-page input::placeholder,
.field-page textarea::placeholder{
  color:#6b7280;
  opacity:1;
}

.field-page .btn,
.field-page .ace-btn{
  border-radius:12px;
  font-weight:900;
}

.field-page .btn-primary,
.field-page .ace-btn--primary,
.field-page .visit-final-actions .btn-primary{
  background:var(--ace-app-green);
  border-color:var(--ace-app-green);
  color:#ffffff;
  box-shadow:0 5px 14px rgba(20,83,45,.22);
}

.field-page .btn-secondary,
.field-page .btn-soft,
.field-page .ace-btn--soft{
  background:#ffffff;
  border:1px solid var(--ace-app-border-strong);
  color:var(--ace-app-text);
  box-shadow:none;
}

.field-page .btn-danger,
.field-page .danger,
.field-page .is-danger{
  color:#ffffff;
  background:var(--ace-app-danger);
  border-color:var(--ace-app-danger);
}

.field-page .visit-screen .visit-wizard,
.field-page #screen-visita .visit-wizard{
  position:sticky;
  top:0;
  z-index:900;
  background:#ffffff;
  border:1px solid var(--ace-app-border);
  border-radius:16px;
  box-shadow:0 8px 18px rgba(17,24,39,.10);
  backdrop-filter:none;
}

.field-page .visit-step-chip{
  background:#ffffff;
  border:1px solid var(--ace-app-border-strong);
  color:var(--ace-app-text);
  box-shadow:none;
}

.field-page .visit-step-chip small,
.field-page .visit-step-chip span{
  color:var(--ace-app-muted);
}

.field-page .visit-step-chip.is-active{
  background:var(--ace-app-green);
  border-color:var(--ace-app-green);
  color:#ffffff;
}

.field-page .visit-step-chip.is-active small,
.field-page .visit-step-chip.is-active span{
  color:rgba(255,255,255,.86);
}

.field-page .visit-step-chip.is-done{
  background:var(--ace-app-green-soft);
  border-color:#86b994;
}

.field-page .property-list,
.field-page .property-list-body,
.field-page .offline-ready-checks,
.field-page .table-wrap{
  background:var(--ace-app-surface);
  border-color:var(--ace-app-border);
}

.field-page .property-list-head,
.field-page #screen-visita .property-list-head,
.field-page .visit-final-actions,
.field-page .visit-screen .selected-card-footer,
.field-page #screen-imoveis .property-form-actions--refined,
.field-page #screen-painel .panel-agent-visits-card thead th{
  background:#ffffff;
  border-color:var(--ace-app-border);
  color:var(--ace-app-text);
  box-shadow:none;
  backdrop-filter:none;
}

.field-page .property-card,
.field-page .property-list-item,
.field-page .list-card{
  background:#ffffff;
  border:1px solid var(--ace-app-border);
  box-shadow:none;
}

.field-page .property-card.is-selected,
.field-page .property-list-item.is-selected{
  border-color:var(--ace-app-green);
  box-shadow:0 0 0 3px rgba(20,83,45,.14);
}

.field-page .badge,
.field-page .pill,
.field-page .status-chip{
  border-color:var(--ace-app-border-strong);
  color:var(--ace-app-text);
  background:#ffffff;
}

.field-page .alert,
.field-page .offline-readiness-card,
.field-page .offline-ready-card{
  background:#ffffff;
  color:var(--ace-app-text);
  border-color:var(--ace-app-border);
}

/* Retrato do Galaxy Tab A11: app compacto, sem transparência nem vazamento. */
@media (min-width:721px) and (max-width:860px) and (orientation:portrait){
  body.field-page{
    --ace-field-topbar-height:100px;
    background:var(--ace-app-bg);
  }

  .field-page .page-shell.ace-shell{
    background:var(--ace-app-bg);
  }

  .field-page .topbar.topbar-v43{
    position:sticky;
    top:0;
    z-index:1200;
    width:100vw;
    max-width:100vw;
    margin:0 0 8px;
    border-radius:0;
    background:#ffffff;
    box-shadow:0 5px 16px rgba(17,24,39,.12);
  }

  .field-page .topbar-v43 .topbar-row{
    padding:7px 8px 5px;
    gap:7px;
  }

  .field-page .topbar-v43 .brand-mark{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:10px;
    font-size:1.05rem;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:.92rem;
    line-height:1.08;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:330px;
  }

  .field-page .topbar-v43 .brand-copy p{
    font-size:.68rem;
    margin-top:2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:330px;
  }

  .field-page .topbar-v43 .topbar-actions{
    gap:4px;
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .header-sync-btn,
  .field-page .topbar-v43 .chip-logout{
    min-height:32px;
    height:32px;
    padding:0 7px;
    border-radius:9px;
    font-size:.66rem;
    line-height:1;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding:0 8px 7px;
    gap:5px;
    border-top:1px solid #edf1ee;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    flex:1 1 0;
    min-width:0;
    min-height:34px;
    height:34px;
    padding:0 8px;
    border-radius:10px;
    font-size:.76rem;
  }

  .field-page main{
    padding:0 7px 22px;
  }

  .field-page .screen.active{
    min-height:calc(100dvh - 98px);
    padding:8px;
    border-radius:14px;
    background:#f8faf9;
    border-color:var(--ace-app-border);
  }

  .field-page #screen-visita.visit-screen{
    padding-top:8px;
  }

  .field-page #screen-visita .visit-wizard,
  .field-page .visit-screen .visit-wizard{
    top:0;
    width:100%;
    margin:0 0 8px;
    border-radius:12px;
    background:#ffffff;
    z-index:900;
  }

  .field-page #screen-visita .property-list-head{
    background:#ffffff;
    border-bottom:1px solid var(--ace-app-border);
  }

  .field-page .visit-card,
  .field-page .visit-property-browser-card,
  .field-page #screen-imoveis .card,
  .field-page #screen-painel .card{
    border-radius:12px;
  }
}

/* Paisagem: moldura de aplicativo, cabeçalho branco e tela limpa. */
@media (min-width:1000px) and (max-height:860px) and (orientation:landscape){
  body.field-page{
    background:#dfe7e2;
  }

  .field-page .page-shell.ace-shell{
    max-width:1280px;
    margin:0 auto;
    background:var(--ace-app-bg);
    box-shadow:0 0 0 1px var(--ace-app-border), 0 18px 44px rgba(17,24,39,.16);
  }

  .field-page .topbar.topbar-v43{
    border-radius:0;
    background:#ffffff;
  }

  .field-page main{
    padding:0 14px 24px;
  }

  .field-page .screen.active{
    padding:12px;
    border-radius:18px;
  }
}


/* =========================================================
   INDEX V.36 - AJUSTES REAIS PARA TABLET 8,7" (A11)
   Objetivo: cabeçalho sem quebra ruim, ações alinhadas,
   cards do painel em duas colunas e menos altura desperdiçada.
   ========================================================= */
@media (min-width: 761px) and (max-width: 1024px){
  .field-page .topbar.topbar-v43{
    border-radius:0 0 18px 18px;
    box-shadow:0 12px 26px rgba(14,39,28,.10);
  }

  .field-page .topbar-v43 .topbar-row{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:10px;
    padding:12px 16px 8px;
  }

  .field-page .topbar-v43 .topbar-main{
    display:grid;
    grid-template-columns:1fr;
    align-items:center;
    gap:0;
  }

  .field-page .topbar-v43 .brand-mark,
  .field-page .topbar-v43 .brand-copy p{
    display:none;
  }

  .field-page .topbar-v43 .brand-copy{
    min-width:0;
  }

  .field-page .topbar-v43 .brand-copy h1{
    margin:0;
    font-size:1.08rem;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:8px;
    align-items:stretch;
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .operation-mode-badge{
    min-height:42px;
    min-width:0;
    width:100%;
    padding:0 10px;
    border-radius:12px;
    justify-content:center;
    font-size:.82rem;
    font-weight:800;
    text-align:center;
    box-sizing:border-box;
  }

  .field-page .topbar-v43 .operation-mode-badge{
    display:flex;
    gap:4px;
    background:#f2f5f3;
    border:1px solid #d5dfd8;
    color:#234332;
  }

  .field-page .topbar-v43 .operation-mode-badge strong{
    font-size:.84rem;
    color:inherit;
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .chip-queue,
  .field-page .topbar-v43 .header-sync-btn{
    color:#ffffff;
  }

  .field-page .topbar-v43 .chip-queue{
    background:#5f765f;
    border-color:#5f765f;
  }

  .field-page .topbar-v43 .header-sync-btn,
  .field-page .btn.btn-primary,
  .field-page .ace-btn--primary,
  .field-page .nav-tabs-v43 .tab-btn.active,
  .field-page .sync-export-all,
  .field-page .sync-export-queue{
    color:#ffffff;
  }

  .field-page .topbar-v43 .header-sync-btn{
    background:#1f6b3f;
    border-color:#1f6b3f;
  }

  .field-page .topbar-v43 .chip-logout{
    color:#8c2e2e;
    background:#fff7f7;
    border-color:#e3b6b6;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    padding:0 16px 10px;
    gap:8px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:0;
    min-height:44px;
    padding:0 10px;
    border-radius:12px;
    font-size:.92rem;
  }

  .field-page .screen-head{
    padding:16px 18px;
    border-radius:18px;
    align-items:center;
  }

  .field-page .screen-head-copy strong{
    font-size:1.05rem;
  }

  .field-page .screen-head-copy span{
    font-size:.88rem;
  }

  .field-page #screen-painel .hero-grid,
  .field-page #screen-painel .metric-grid,
  .field-page #syncCenterGrid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .field-page #screen-painel .grid.two{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .field-page #screen-painel .hero-card,
  .field-page #screen-painel .metric-card,
  .field-page .offline-ready-card,
  .field-page #syncCenterGrid .metric-card{
    min-height:112px;
    padding:14px 16px;
    border-radius:18px;
  }

  .field-page #screen-painel .hero-card strong,
  .field-page #screen-painel .metric-card strong,
  .field-page #syncCenterGrid .metric-card strong{
    font-size:1.7rem;
    line-height:1;
  }

  .field-page #screen-painel .hero-card small,
  .field-page #screen-painel .metric-card small,
  .field-page #screen-painel .hero-card span,
  .field-page #screen-painel .metric-card span,
  .field-page #syncCenterGrid .metric-card small,
  .field-page #syncCenterGrid .metric-card span{
    font-size:.82rem;
    line-height:1.2;
  }

  .field-page .sync-export-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .field-page .sync-export-btn{
    min-height:88px;
    padding:14px 16px;
    border-radius:16px;
  }

  .field-page .sync-export-all{
    background:#1f6b3f;
    border-color:#1f6b3f;
  }

  .field-page .sync-export-queue{
    background:#2c6dca;
    border-color:#2c6dca;
  }

  .field-page .sync-export-title,
  .field-page .sync-export-hint,
  .field-page .sync-export-icon{
    color:#ffffff;
  }

  .field-page .visit-screen .property-query-actions{
    grid-template-columns:minmax(0,1.5fr) repeat(2, minmax(0, .75fr));
    align-items:stretch;
  }

  .field-page .visit-screen .property-query-summary{
    min-height:76px;
  }

  .field-page .visit-screen .property-query-actions .btn{
    min-height:52px;
  }
}

/* =========================================================
   INDEX V39 - acabamento para Galaxy Tab A11 em retrato.
   Corrige cabecalho quebrando, texto de botao ativo e cards altos.
   ========================================================= */
@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait){
  body.field-page{
    --ace-field-topbar-height:76px;
  }

  .field-page .topbar.topbar-v43{
    margin:0 0 8px;
    padding:0;
    border-radius:0;
  }

  .field-page .topbar-v43 .topbar-row{
    display:grid;
    grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);
    gap:6px;
    padding:8px 10px 6px;
    align-items:center;
  }

  .field-page .topbar-v43 .topbar-main{
    display:block;
    min-width:0;
  }

  .field-page .topbar-v43 .brand-copy h1{
    max-width:none;
    font-size:1rem;
    line-height:1.05;
    letter-spacing:0;
  }

  .field-page .topbar-v43 .brand-copy p{
    display:none;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:minmax(78px,1.05fr) minmax(74px,.9fr) minmax(56px,.7fr) 42px;
    gap:5px;
    align-items:stretch;
    flex-wrap:nowrap;
  }

  .field-page .topbar-v43 .topbar-actions > *{
    min-width:0;
    width:80%;
    max-width:none;
    justify-content:center;
    justify-self:center;
  }

  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .operation-mode-badge,
  .field-page .topbar-v43 .header-sync-btn,
  .field-page .topbar-v43 .chip-logout{
    height:32px;
    min-height:32px;
    padding:0 5px;
    border-radius:9px;
    font-size:.7rem;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    box-sizing:border-box;
  }

  .field-page .topbar-v43 .operation-mode-badge strong{
    font-size:.7rem;
    color:inherit;
  }

  .field-page .topbar-v43 .header-sync-btn,
  .field-page .nav-tabs-v43 .tab-btn.active,
  .field-page .btn.btn-primary,
  .field-page .ace-btn--primary,
  .field-page .selected-card-start-btn,
  .field-page .sync-export-all,
  .field-page .sync-export-queue{
    color:#ffffff;
  }

  .field-page .topbar-v43 .header-sync-btn *,
  .field-page .nav-tabs-v43 .tab-btn.active *,
  .field-page .btn.btn-primary *,
  .field-page .ace-btn--primary *,
  .field-page .selected-card-start-btn *,
  .field-page .sync-export-all *,
  .field-page .sync-export-queue *{
    color:#ffffff;
  }

  .field-page .topbar-v43 .chip-logout{
    color:#ffffff;
    background:#b4232a;
    border-color:#b4232a;
    font-size:.92rem;
    font-weight:900;
  }

  .field-page .nav-tabs.nav-tabs-v43{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:7px;
    padding:0 12px 8px;
  }

  .field-page .nav-tabs-v43 .tab-btn{
    min-width:0;
    height:36px;
    min-height:36px;
    padding:0 8px;
    border-radius:10px;
    font-size:.82rem;
  }

  .field-page main{
    padding:0 8px 18px;
  }

  .field-page .screen.active{
    padding:8px;
    border-radius:14px;
  }

  .field-page #screen-painel .screen-head{
    padding:12px 14px;
    border-radius:14px;
  }

  .field-page #screen-painel .screen-head-copy strong{
    font-size:1rem;
  }

  .field-page #screen-painel .screen-head-copy span{
    font-size:.78rem;
  }

  .field-page #screen-painel .hero-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:8px;
  }

  .field-page #screen-painel .hero-card{
    min-height:76px;
    padding:9px 10px;
    border-radius:12px;
  }

  .field-page #screen-painel .hero-card small{
    font-size:.61rem;
    line-height:1.05;
  }

  .field-page #screen-painel .hero-card strong{
    font-size:1.36rem;
    line-height:1;
    margin:4px 0 3px;
  }

  .field-page #screen-painel .hero-card span{
    font-size:.64rem;
    line-height:1.08;
  }

  .field-page #screen-painel .card{
    padding:12px;
    border-radius:14px;
  }

  .field-page #screen-painel .section-title{
    margin-bottom:8px;
    font-size:.98rem;
  }

  .field-page #screen-painel .metric-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:8px;
  }

  .field-page #syncCenterGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  .field-page #screen-painel .metric-card,
  .field-page #syncCenterGrid .metric-card{
    min-height:68px;
    padding:9px 8px;
    border-radius:12px;
    text-align:center;
  }

  .field-page #screen-painel .metric-card small,
  .field-page #syncCenterGrid .metric-card small{
    font-size:.58rem;
    line-height:1.05;
    letter-spacing:.04em;
  }

  .field-page #screen-painel .metric-card strong,
  .field-page #syncCenterGrid .metric-card strong{
    font-size:1.38rem;
    line-height:1;
    margin-top:5px;
  }

  .field-page #screen-painel .grid.two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .field-page #localRecommendations{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .field-page #screen-painel .mail-report-card{
    min-height:0;
    padding:9px 10px;
    border-radius:12px;
  }

  .field-page #screen-painel .mail-report-card--mini .mail-report-meta{
    font-size:.68rem;
    margin-bottom:4px;
  }

  .field-page #screen-painel .mail-report-card--mini p{
    font-size:.72rem;
    line-height:1.22;
  }

  .field-page .ranking-card.deposit-report-card{
    padding:9px 10px;
    border-radius:12px;
  }

  .field-page .ranking-card .rank-row{
    gap:8px;
  }

  .field-page .sync-export-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .field-page .sync-export-btn{
    min-height:54px;
    padding:8px 10px;
    border-radius:12px;
  }

  .field-page .sync-export-icon{
    width:30px;
    height:30px;
    min-width:30px;
    font-size:1rem;
  }

  .field-page .sync-export-title{
    font-size:.72rem;
    line-height:1.08;
  }

  .field-page .sync-export-hint{
    font-size:.62rem;
    line-height:1.05;
  }

  .field-page #screen-visita .visit-wizard,
  .field-page .visit-screen .visit-wizard{
    top:0;
    margin-bottom:8px;
  }
}

/* INDEX V40 - densidade extra para as demais telas do tablet. */
@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait){
  .field-page .app-credit{
    display:none;
  }

  .field-page .card,
  .field-page .ace-card,
  .field-page .property-form-section,
  .field-page .history-card,
  .field-page .table-wrap{
    border-radius:12px;
  }

  .field-page #screen-imoveis.properties-screen{
    padding:8px;
  }

  .field-page #screen-imoveis .property-form-card--solo{
    padding:13px;
    border-radius:14px;
  }

  .field-page #screen-imoveis .property-form-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin:0 0 10px;
    padding:0 0 10px;
  }

  .field-page #screen-imoveis .property-form-title-wrap .section-title{
    font-size:1.28rem;
    line-height:1.1;
    margin:0 0 4px;
  }

  .field-page #screen-imoveis .property-form-section{
    margin-top:10px;
    padding:10px;
  }

  .field-page #screen-imoveis .property-form-section__heading{
    padding-bottom:6px;
    margin-bottom:8px;
  }

  .field-page #screen-imoveis .property-form-section__heading h3{
    font-size:.98rem;
    line-height:1.1;
  }

  .field-page #screen-imoveis .property-form-grid{
    gap:8px;
  }

  .field-page #screen-imoveis .property-form-grid--top{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .field-page #screen-imoveis .property-field-morador,
  .field-page #screen-imoveis .property-field-telefone{
    grid-column:auto;
  }

  .field-page #screen-imoveis .property-form-grid--address{
    grid-template-columns:minmax(0,1.1fr) minmax(0,1.65fr) minmax(0,.75fr);
  }

  .field-page #screen-imoveis .property-field-bairro,
  .field-page #screen-imoveis .property-field-logradouro,
  .field-page #screen-imoveis .property-field-numero{
    grid-column:auto;
  }

  .field-page #screen-imoveis .property-form-grid--territory-top{
    grid-template-columns:repeat(6, minmax(0,1fr));
  }

  .field-page #screen-imoveis .property-field-tipo,
  .field-page #screen-imoveis .property-field-complemento,
  .field-page #screen-imoveis .property-field-referencia{
    grid-column:span 2;
  }

  .field-page #screen-imoveis .property-field-microarea,
  .field-page #screen-imoveis .property-field-quarteirao{
    grid-column:span 3;
  }

  .field-page #screen-imoveis label{
    font-size:.76rem;
    margin-bottom:5px;
  }

  .field-page #screen-imoveis input,
  .field-page #screen-imoveis select{
    min-height:44px;
    height:44px;
    padding:0 12px;
    border-radius:10px;
    font-size:.9rem;
  }

  .field-page #screen-imoveis textarea{
    min-height:70px;
    padding:10px 12px;
    border-radius:10px;
    font-size:.9rem;
  }

  .field-page #screen-imoveis .property-form-actions--refined{
    display:grid;
    grid-template-columns:.75fr 1.15fr .8fr .75fr;
    gap:8px;
    margin-top:10px;
    padding:0;
  }

  .field-page #screen-imoveis .property-form-actions--refined .btn{
    min-height:40px;
    height:40px;
    padding:0 8px;
    border-radius:10px;
    font-size:.78rem;
  }

  .field-page #screen-painel .offline-ready-card{
    padding:10px;
    margin:0 0 10px;
    border-radius:12px;
  }

  .field-page #screen-painel .offline-ready-checks{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:7px;
  }

  .field-page #screen-painel .offline-ready-check{
    min-height:42px;
    padding:7px 8px;
    border-radius:10px;
  }

  .field-page #screen-painel .offline-ready-actions{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
    margin-top:8px;
  }

  .field-page #screen-painel .offline-ready-actions .btn,
  .field-page #screen-painel .dashboard-day-actions .btn{
    min-height:40px;
    height:40px;
    font-size:.8rem;
  }

  .field-page #screen-painel .dashboard-day-actions{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:8px;
  }

  .field-page #screen-painel .panel-tubitos-card,
  .field-page #screen-painel .panel-agent-visits-card{
    padding:12px;
    margin-top:10px;
  }

  .field-page #screen-painel .panel-tubitos-card .panel-card-note{
    margin:0 0 8px;
    font-size:.8rem;
  }

  .field-page #screen-painel .panel-tubitos-table,
  .field-page #screen-painel .panel-agent-visits-table{
    max-height:310px;
    overflow:auto;
  }

  .field-page #screen-painel .panel-tubitos-table th,
  .field-page #screen-painel .panel-tubitos-table td,
  .field-page #screen-painel .panel-agent-visits-table th,
  .field-page #screen-painel .panel-agent-visits-table td{
    padding:8px 9px;
    font-size:.78rem;
    line-height:1.18;
  }

  .field-page #screen-painel .history-card{
    padding:9px 10px;
    min-height:0;
  }

  .field-page #screen-painel .history-card strong{
    font-size:.88rem;
    line-height:1.15;
  }
}


/* =========================================================
   INDEX V43 - tablet: sem marca antiga no login e painel 50% compacto.
   ========================================================= */
.field-page .login-card > .brand-mark,
.field-page .login-card .brand-mark,
.field-page .ace-login-card > img,
.field-page .ace-login-card [class*="logo"],
.field-page .ace-login-card [class*="pref"]{
  display:none;
  visibility:hidden;
}

@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait){
  .field-page .topbar-v43 .topbar-actions{
    width:100%;
  }

  .field-page .topbar-v43 .topbar-actions > *{
    width:80%;
    justify-self:center;
  }

  .field-page #screen-painel .screen-head{
    padding:8px 10px;
    border-radius:12px;
    min-height:0;
  }

  .field-page #screen-painel .screen-head-copy strong{
    font-size:.92rem;
    line-height:1.05;
  }

  .field-page #screen-painel .screen-head-copy span{
    font-size:.68rem;
    line-height:1.15;
  }

  .field-page #screen-painel .screen-badge{
    width:34px;
    height:34px;
    min-width:34px;
    font-size:1rem;
  }

  .field-page #screen-painel .hero-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:6px;
  }

  .field-page #screen-painel .hero-card{
    min-height:56px;
    padding:6px 7px;
    border-radius:10px;
  }

  .field-page #screen-painel .hero-card small,
  .field-page #screen-painel .metric-card small,
  .field-page #syncCenterGrid .metric-card small{
    font-size:.5rem;
    line-height:1;
    letter-spacing:.03em;
  }

  .field-page #screen-painel .hero-card strong,
  .field-page #screen-painel .metric-card strong,
  .field-page #syncCenterGrid .metric-card strong{
    font-size:1.05rem;
    line-height:1;
    margin-top:2px;
  }

  .field-page #screen-painel .hero-card span,
  .field-page #screen-painel .metric-card span,
  .field-page #syncCenterGrid .metric-card span{
    font-size:.56rem;
    line-height:1.05;
  }

  .field-page #screen-painel .card{
    padding:7px;
    border-radius:11px;
  }

  .field-page #screen-painel .section-title{
    margin-bottom:5px;
    font-size:.82rem;
  }

  .field-page #screen-painel .metric-grid{
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:5px;
  }

  .field-page #screen-painel .metric-card,
  .field-page #syncCenterGrid .metric-card{
    min-height:38px;
    padding:4px 5px;
    border-radius:9px;
  }

  .field-page #screen-painel .grid.two{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }

  .field-page #localRecommendations{
    grid-template-columns:1fr 1fr;
    gap:5px;
  }

  .field-page #screen-painel .mail-report-card,
  .field-page .ranking-card.deposit-report-card{
    padding:5px 6px;
    border-radius:9px;
  }

  .field-page #screen-painel .mail-report-card--mini .mail-report-meta{
    font-size:.55rem;
    margin-bottom:2px;
  }

  .field-page #screen-painel .mail-report-card--mini p,
  .field-page .ranking-card .rank-row span{
    font-size:.6rem;
    line-height:1.1;
  }

  .field-page .ranking-card .rank-row{
    min-height:36px;
    padding:5px 6px;
    border-radius:9px;
    gap:5px;
  }

  .field-page .ranking-card .rank-code{
    min-width:34px;
    padding:4px 5px;
    font-size:.66rem;
  }

  .field-page .dashboard-day-actions{
    gap:5px;
  }

  .field-page .dashboard-day-actions .btn{
    min-height:34px;
    padding:0 8px;
    border-radius:9px;
    font-size:.68rem;
  }

  .field-page .sync-day-status{
    padding:6px 8px;
    font-size:.68rem;
    line-height:1.2;
  }
}

/* =========================================================
   INDEX V44 - barra superior realmente compacta.
   Os controles deixam de ocupar colunas largas e usam largura própria.
   ========================================================= */
@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait){
  .field-page .topbar.topbar-v43{
    min-height:0;
  }

  .field-page .topbar-v43 .topbar-row{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:8px 10px 6px;
  }

  .field-page .topbar-v43 .topbar-main{
    flex:1 1 auto;
    min-width:0;
  }

  .field-page .topbar-v43 .brand-copy h1{
    font-size:.98rem;
    max-width:230px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .field-page .topbar-v43 .topbar-actions{
    flex:0 0 auto;
    width:auto;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content:flex-end;
    align-items:center;
    gap:5px;
  }

  .field-page .topbar-v43 .topbar-actions > *,
  .field-page .topbar-v43 .chip,
  .field-page .topbar-v43 .operation-mode-badge,
  .field-page .topbar-v43 .header-sync-btn,
  .field-page .topbar-v43 .chip-logout{
    flex:0 0 auto;
    width:auto;
    max-width:none;
    min-width:0;
    height:32px;
    min-height:32px;
    padding:0 8px;
    border-radius:9px;
    font-size:.72rem;
    line-height:1;
    white-space:nowrap;
  }

  .field-page .topbar-v43 .operation-mode-badge{
    width:78px;
    padding:0 7px;
  }

  .field-page .topbar-v43 .operation-mode-badge strong{
    font-size:.72rem;
  }

  .field-page .topbar-v43 #syncChip{
    width:74px;
    padding:0 7px;
  }

  .field-page .topbar-v43 #headerSyncBtn{
    width:54px;
    padding:0 6px;
  }

  .field-page .topbar-v43 #logoutBtn{
    width:34px;
    padding:0;
    color:#ffffff;
    background:#b4232a;
    border-color:#b4232a;
    font-size:.95rem;
    font-weight:900;
  }
}

/* INDEX V45 - quatro botões superiores com a mesma largura. */
@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait){
  .field-page .topbar-v43 .topbar-row{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding:8px 10px 6px;
  }

  .field-page .topbar-v43 .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:6px;
    align-items:center;
  }

  .field-page .topbar-v43 .topbar-actions > *,
  .field-page .topbar-v43 .operation-mode-badge,
  .field-page .topbar-v43 #syncChip,
  .field-page .topbar-v43 #headerSyncBtn,
  .field-page .topbar-v43 #logoutBtn{
    width:100%;
    min-width:0;
    max-width:none;
    justify-self:stretch;
    height:32px;
    min-height:32px;
    padding:0 6px;
    border-radius:9px;
    font-size:.72rem;
    line-height:1;
    text-align:center;
  }

  .field-page .topbar-v43 #logoutBtn{
    color:#ffffff;
    background:#b4232a;
    border-color:#b4232a;
    font-size:.9rem;
    font-weight:900;
  }
}


/* ACE Campo index tablet design v51 */
/* v51: refinamento visual do app de campo em tablet. */
    :root {
      --ace-v51-green-dark: #073b24;
      --ace-v51-green: #0f6f3d;
      --ace-v51-green-strong: #0b7a3b;
      --ace-v51-red: #c62828;
      --ace-v51-silver: #9aa4ad;
      --ace-v51-bg: #f3f8f5;
      --ace-v51-card-border: rgba(21, 83, 51, .12);
    }

    html body.field-page {
      background:
        radial-gradient(circle at 18% 0%, rgba(15, 111, 61, .10), transparent 28rem),
        linear-gradient(180deg, #eef6f1 0%, #f7faf8 16rem, var(--ace-v51-bg) 100%);
      color: #1f2933;
    }

    html body.field-page .page-shell,
    html body.field-page .ace-shell {
      background: transparent;
    }

    html body.field-page .topbar.topbar-v43,
    html body.field-page header.topbar.topbar-v43,
    html body.field-page .ace-topbar {
      position: sticky;
      top: 0;
      z-index: 60;
      overflow: hidden;
      margin: 0;
      background: var(--ace-v51-green-dark);
      border: 0;
      border-bottom: 1px solid rgba(255, 255, 255, .10);
      box-shadow: 0 10px 22px rgba(7, 59, 36, .18);
      color: #ffffff;
    }

    html body.field-page .topbar-v43 .topbar-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 14px;
      align-items: center;
      max-width: 1180px;
      margin: 0 auto;
      padding: 10px 18px 8px;
      background: var(--ace-v51-green-dark);
      color: #ffffff;
    }

    html body.field-page .topbar-v43 .topbar-main,
    html body.field-page .topbar-v43 .brand-copy {
      min-width: 0;
    }

    html body.field-page .topbar-v43 .brand-copy h1 {
      margin: 0;
      color: #ffffff;
      font-size: clamp(.98rem, 1.35vw, 1.25rem);
      font-weight: 900;
      line-height: 1.05;
      letter-spacing: -.02em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    html body.field-page .topbar-v43 .brand-copy p,
    html body.field-page .topbar-v43 .brand-copy span {
      margin: 3px 0 0;
      color: rgba(255, 255, 255, .76);
      font-size: .72rem;
      font-weight: 700;
      line-height: 1.1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    html body.field-page .topbar-v43 .chip-row,
    html body.field-page .topbar-v43 .topbar-actions {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: minmax(82px, auto);
      gap: 8px;
      align-items: center;
      justify-content: end;
      margin: 0;
      width: auto;
      min-width: 0;
    }

    html body.field-page .topbar-v43 .topbar-actions > *,
    html body.field-page .topbar-v43 .chip,
    html body.field-page .topbar-v43 .operation-mode-badge,
    html body.field-page .topbar-v43 #syncChip,
    html body.field-page .topbar-v43 #headerSyncBtn,
    html body.field-page .topbar-v43 #logoutBtn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 82px;
      width: auto;
      height: 33px;
      min-height: 33px;
      max-height: 33px;
      padding: 0 12px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, .72);
      background: #ffffff;
      color: var(--ace-v51-silver);
      font-size: .76rem;
      font-weight: 900;
      line-height: 1;
      text-align: center;
      text-shadow: none;
      white-space: nowrap;
      box-shadow: none;
      box-sizing: border-box;
    }

    html body.field-page .topbar-v43 .topbar-actions > * *,
    html body.field-page .topbar-v43 .chip *,
    html body.field-page .topbar-v43 .operation-mode-badge *,
    html body.field-page .topbar-v43 #syncChip * {
      color: var(--ace-v51-silver);
      font-size: inherit;
      line-height: 1;
      white-space: nowrap;
      text-shadow: none;
    }

    html body.field-page .topbar-v43 .operation-mode-badge {
      gap: 4px;
    }

    html body.field-page .topbar-v43 .operation-mode-badge span,
    html body.field-page .topbar-v43 .operation-mode-badge strong {
      display: inline;
      min-width: 0;
    }

    html body.field-page .topbar-v43 #syncChip.is-ok,
    html body.field-page .topbar-v43 .chip.is-ok,
    html body.field-page .topbar-v43 #headerSyncBtn,
    html body.field-page .topbar-v43 .header-sync-btn {
      background: var(--ace-v51-green);
      border-color: var(--ace-v51-green);
      color: #ffffff;
      box-shadow: 0 6px 14px rgba(15, 111, 61, .24);
    }

    html body.field-page .topbar-v43 #syncChip.is-ok *,
    html body.field-page .topbar-v43 .chip.is-ok *,
    html body.field-page .topbar-v43 #headerSyncBtn *,
    html body.field-page .topbar-v43 .header-sync-btn * {
      color: #ffffff;
    }

    html body.field-page .topbar-v43 #syncChip.is-warn,
    html body.field-page .topbar-v43 .chip.is-warn {
      background: #d97706;
      border-color: #d97706;
      color: #ffffff;
    }

    html body.field-page .topbar-v43 #syncChip.is-danger,
    html body.field-page .topbar-v43 .chip.is-danger,
    html body.field-page .topbar-v43 #logoutBtn,
    html body.field-page .topbar-v43 .chip-logout {
      background: var(--ace-v51-red);
      border-color: #b42323;
      color: #ffffff;
      box-shadow: 0 6px 14px rgba(198, 40, 40, .22);
    }

    html body.field-page .topbar-v43 #syncChip.is-warn *,
    html body.field-page .topbar-v43 .chip.is-warn *,
    html body.field-page .topbar-v43 #syncChip.is-danger *,
    html body.field-page .topbar-v43 .chip.is-danger *,
    html body.field-page .topbar-v43 #logoutBtn *,
    html body.field-page .topbar-v43 .chip-logout * {
      color: #ffffff;
    }

    html body.field-page .nav-tabs.nav-tabs-v43 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 9px;
      max-width: 1180px;
      margin: 0 auto;
      padding: 7px 18px 11px;
      background: var(--ace-v51-green-dark);
      border: 0;
      border-top: 1px solid rgba(255, 255, 255, .10);
      box-shadow: none;
    }

    html body.field-page .nav-tabs-v43 .tab-btn,
    html body.field-page .nav-tabs-v43 button.tab-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 36px;
      min-height: 36px;
      padding: 0 12px;
      border-radius: 11px;
      border: 1px solid #dce4df;
      background: #ffffff;
      color: var(--ace-v51-silver);
      font-size: .84rem;
      font-weight: 900;
      letter-spacing: .01em;
      line-height: 1;
      text-shadow: none;
      box-shadow: none;
    }

    html body.field-page .nav-tabs-v43 .tab-btn *,
    html body.field-page .nav-tabs-v43 .tab-btn .tab-btn__label,
    html body.field-page .nav-tabs-v43 button.tab-btn *,
    html body.field-page .nav-tabs-v43 button.tab-btn .tab-btn__label {
      color: var(--ace-v51-silver);
      font-weight: 900;
      text-shadow: none;
    }

    html body.field-page .nav-tabs-v43 .tab-btn.active,
    html body.field-page .nav-tabs-v43 .tab-btn.is-active,
    html body.field-page .nav-tabs-v43 .tab-btn[aria-selected="true"],
    html body.field-page .nav-tabs-v43 button.tab-btn.active,
    html body.field-page .nav-tabs-v43 button.tab-btn.is-active,
    html body.field-page .nav-tabs-v43 button.tab-btn[aria-selected="true"] {
      background: var(--ace-v51-green-strong);
      border-color: var(--ace-v51-green-strong);
      color: #ffffff;
      box-shadow: 0 8px 16px rgba(11, 122, 59, .20);
    }

    html body.field-page .nav-tabs-v43 .tab-btn.active *,
    html body.field-page .nav-tabs-v43 .tab-btn.active .tab-btn__label,
    html body.field-page .nav-tabs-v43 .tab-btn.is-active *,
    html body.field-page .nav-tabs-v43 .tab-btn.is-active .tab-btn__label,
    html body.field-page .nav-tabs-v43 .tab-btn[aria-selected="true"] *,
    html body.field-page .nav-tabs-v43 .tab-btn[aria-selected="true"] .tab-btn__label,
    html body.field-page .nav-tabs-v43 button.tab-btn.active *,
    html body.field-page .nav-tabs-v43 button.tab-btn.active .tab-btn__label,
    html body.field-page .nav-tabs-v43 button.tab-btn.is-active *,
    html body.field-page .nav-tabs-v43 button.tab-btn.is-active .tab-btn__label,
    html body.field-page .nav-tabs-v43 button.tab-btn[aria-selected="true"] *,
    html body.field-page .nav-tabs-v43 button.tab-btn[aria-selected="true"] .tab-btn__label {
      color: #ffffff;
    }

    html body.field-page main {
      max-width: 1180px;
      margin: 0 auto;
      padding: 14px 18px 34px;
    }

    html body.field-page .screen {
      padding-inline: 0;
    }

    html body.field-page .card,
    html body.field-page .ace-card {
      border-color: var(--ace-v51-card-border);
      border-radius: 16px;
      background: rgba(255, 255, 255, .96);
      box-shadow: 0 8px 20px rgba(20, 35, 28, .06);
    }

    html body.field-page #screen-painel .screen-head {
      margin: 0 0 12px;
      padding: 11px 14px;
      border-radius: 16px;
      border: 1px solid var(--ace-v51-card-border);
      background: rgba(255, 255, 255, .95);
      box-shadow: 0 8px 20px rgba(20, 35, 28, .06);
    }

    html body.field-page #screen-painel .screen-head h2,
    html body.field-page #screen-painel .screen-head .section-title {
      margin: 0;
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      line-height: 1.1;
    }

    html body.field-page #screen-painel .screen-head p {
      margin: 4px 0 0;
      font-size: .78rem;
      line-height: 1.25;
      color: #647067;
    }

    html body.field-page #screen-painel .screen-badge {
      width: 42px;
      height: 42px;
      min-width: 42px;
      border-radius: 12px;
      background: #f5faf7;
      border: 1px solid rgba(15, 111, 61, .14);
      box-shadow: none;
    }

    html body.field-page #screen-painel .hero-grid,
    html body.field-page #screen-painel .metric-grid,
    html body.field-page #syncCenterGrid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }

    html body.field-page #screen-painel .hero-card,
    html body.field-page #screen-painel .metric-card,
    html body.field-page #syncCenterGrid .metric-card {
      min-height: 72px;
      padding: 10px 12px;
      border-radius: 15px;
      background: rgba(255, 255, 255, .96);
      border: 1px solid var(--ace-v51-card-border);
      box-shadow: 0 7px 16px rgba(20, 35, 28, .055);
      overflow: hidden;
    }

    html body.field-page #screen-painel .hero-card small,
    html body.field-page #screen-painel .metric-card small,
    html body.field-page #syncCenterGrid .metric-card small {
      margin: 0 0 5px;
      color: #4a5560;
      font-size: .60rem;
      font-weight: 900;
      letter-spacing: .07em;
      line-height: 1.05;
      text-transform: uppercase;
    }

    html body.field-page #screen-painel .hero-card strong,
    html body.field-page #screen-painel .metric-card strong,
    html body.field-page #syncCenterGrid .metric-card strong {
      color: #20784a;
      font-size: clamp(1.34rem, 2vw, 1.86rem);
      font-weight: 900;
      line-height: .98;
      letter-spacing: -.03em;
    }

    html body.field-page #screen-painel .hero-card span,
    html body.field-page #screen-painel .metric-card span,
    html body.field-page #syncCenterGrid .metric-card span {
      display: block;
      margin-top: 5px;
      color: #69756c;
      font-size: .70rem;
      font-weight: 700;
      line-height: 1.15;
    }

    html body.field-page #screen-painel .card,
    html body.field-page #screen-painel .ace-card {
      padding: 13px;
      border-radius: 16px;
    }

    html body.field-page #screen-painel .section-title,
    html body.field-page #screen-painel .ace-section-title {
      margin-bottom: 9px;
      color: #163d2b;
      font-size: 1rem;
      line-height: 1.15;
    }

    html body.field-page #screen-painel .grid,
    html body.field-page #screen-painel .grid.two {
      gap: 12px;
    }

    html body.field-page #screen-painel .grid.two {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    html body.field-page #screen-painel .btn-row,
    html body.field-page #screen-painel .dashboard-day-actions {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 9px;
    }

    html body.field-page #screen-painel .btn,
    html body.field-page #screen-painel .ace-btn {
      min-height: 38px;
      border-radius: 11px;
      font-weight: 900;
      box-shadow: none;
    }

    html body.field-page #screen-painel .table-wrap,
    html body.field-page #screen-painel .visit-table-wrap {
      border-radius: 14px;
      border-color: var(--ace-v51-card-border);
      box-shadow: none;
    }

    @media (max-width: 900px) {
      html body.field-page .topbar-v43 .topbar-row {
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 8px 10px 7px;
      }

      html body.field-page .topbar-v43 .brand-copy h1 {
        font-size: .98rem;
      }

      html body.field-page .topbar-v43 .brand-copy p {
        display: block;
        font-size: .64rem;
      }

      html body.field-page .topbar-v43 .chip-row,
      html body.field-page .topbar-v43 .topbar-actions {
        width: 100%;
        grid-auto-flow: initial;
        grid-auto-columns: initial;
        grid-template-columns: minmax(0, .92fr) minmax(0, 1fr) minmax(0, .76fr) minmax(0, .78fr);
        gap: 6px;
        justify-content: stretch;
      }

      html body.field-page .topbar-v43 .topbar-actions > *,
      html body.field-page .topbar-v43 .chip,
      html body.field-page .topbar-v43 .operation-mode-badge,
      html body.field-page .topbar-v43 #syncChip,
      html body.field-page .topbar-v43 #headerSyncBtn,
      html body.field-page .topbar-v43 #logoutBtn {
        width: 100%;
        min-width: 0;
        height: 32px;
        min-height: 32px;
        max-height: 32px;
        padding: 0 5px;
        border-radius: 9px;
        font-size: .64rem;
      }

      html body.field-page .nav-tabs.nav-tabs-v43 {
        gap: 6px;
        padding: 7px 10px 9px;
      }

      html body.field-page .nav-tabs-v43 .tab-btn,
      html body.field-page .nav-tabs-v43 button.tab-btn {
        height: 34px;
        min-height: 34px;
        border-radius: 9px;
        font-size: .78rem;
      }

      html body.field-page main {
        padding: 10px 10px 28px;
      }

      html body.field-page #screen-painel .screen-head {
        padding: 10px 12px;
        border-radius: 15px;
      }

      html body.field-page #screen-painel .screen-badge {
        width: 36px;
        height: 36px;
        min-width: 36px;
      }

      html body.field-page #screen-painel .hero-grid,
      html body.field-page #screen-painel .metric-grid,
      html body.field-page #syncCenterGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }

      html body.field-page #screen-painel .hero-card,
      html body.field-page #screen-painel .metric-card,
      html body.field-page #syncCenterGrid .metric-card {
        min-height: 62px;
        padding: 8px 9px;
        border-radius: 13px;
      }

      html body.field-page #screen-painel .hero-card small,
      html body.field-page #screen-painel .metric-card small,
      html body.field-page #syncCenterGrid .metric-card small {
        margin-bottom: 4px;
        font-size: .55rem;
        letter-spacing: .055em;
      }

      html body.field-page #screen-painel .hero-card strong,
      html body.field-page #screen-painel .metric-card strong,
      html body.field-page #syncCenterGrid .metric-card strong {
        font-size: 1.18rem;
      }

      html body.field-page #screen-painel .hero-card span,
      html body.field-page #screen-painel .metric-card span,
      html body.field-page #syncCenterGrid .metric-card span {
        margin-top: 4px;
        font-size: .62rem;
      }

      html body.field-page #screen-painel .card,
      html body.field-page #screen-painel .ace-card {
        padding: 10px;
        border-radius: 14px;
      }

      html body.field-page #screen-painel .section-title,
      html body.field-page #screen-painel .ace-section-title {
        margin-bottom: 8px;
        font-size: .94rem;
      }

      html body.field-page #screen-painel .grid.two {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      html body.field-page #screen-painel .btn-row,
      html body.field-page #screen-painel .dashboard-day-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }
    }

    @media (min-width: 700px) and (max-width: 900px) and (orientation: portrait) {
      html body.field-page #screen-painel .hero-grid,
      html body.field-page #screen-painel .metric-grid,
      html body.field-page #syncCenterGrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      html body.field-page #screen-painel .hero-card,
      html body.field-page #screen-painel .metric-card,
      html body.field-page #syncCenterGrid .metric-card {
        min-height: 56px;
        padding: 8px;
      }

      html body.field-page #screen-painel .hero-card strong,
      html body.field-page #screen-painel .metric-card strong,
      html body.field-page #syncCenterGrid .metric-card strong {
        font-size: 1.12rem;
      }
    }

    @media (max-width: 420px) {
      html body.field-page .topbar-v43 .brand-copy p {
        display: none;
      }

      html body.field-page .topbar-v43 .topbar-actions > *,
      html body.field-page .topbar-v43 .chip,
      html body.field-page .topbar-v43 .operation-mode-badge,
      html body.field-page .topbar-v43 #syncChip,
      html body.field-page .topbar-v43 #headerSyncBtn,
      html body.field-page .topbar-v43 #logoutBtn {
        font-size: .60rem;
      }
    }
/* Fim ACE Campo index tablet design v51 */

/* Ajustes locais v73 para o Galaxy Tab A11 8,7". */
html body.field-page #screen-painel #localMetricGrid.metric-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

html body.field-page #screen-painel #localRecommendations{
  display:none;
}

html body.field-page #screen-painel .panel-tubitos-table .tubito-code-list,
html body.field-page #screen-painel .panel-list-card .tubito-code-list{
  display:inline-block;
  color:#123d2a;
  font-size:1rem;
  line-height:1.25;
  font-weight:950;
  letter-spacing:0;
}

@media (max-width: 900px){
  html body.field-page #screen-painel #localMetricGrid.metric-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }
}

@media (max-width: 620px){
  html body.field-page #screen-painel #localMetricGrid.metric-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* Ajustes v75: cadastro de imóveis limpo e centralizado para o Galaxy Tab A11. */
html body.field-page #screen-imoveis .property-form-head{
  display:block;
  text-align:center;
}

html body.field-page #screen-imoveis .property-form-title-wrap{
  text-align:center;
}

html body.field-page #screen-imoveis .property-form-title-wrap .section-title{
  display:flex;
  justify-content:center;
  text-align:center;
  margin:0;
}

html body.field-page #screen-imoveis .property-form-section__heading{
  display:flex;
  justify-content:center;
  text-align:center;
}

html body.field-page #screen-imoveis .property-form-section__heading h3{
  justify-content:center;
  text-align:center;
  width:100%;
}
}
