:root {
    --petroleo: #0B2D3C;
    --floresta: #1F5A2E;
    --verde: #4FA36A;
    --verde-claro: #A7D5B0;
    --bg: #f4f7f5;
    --panel: #ffffff;
    --line: #dce5e0;
    --text: #13252d;
    --muted: #64747a;
    --danger: #a53737;
    --danger-bg: #fff5f5;
    --shadow: 0 10px 26px rgba(11, 45, 60, .06);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
    margin: 0;
    font-family: Inter, Manrope, "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
    color: var(--text);
    background: var(--bg);
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.app-shell { min-height: 100vh; }
.topbar {
    min-height: 76px;
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--petroleo);
    color: #fff;
    border-bottom: 3px solid var(--verde);
}
.brand { display: inline-flex; flex-direction: column; color: #fff; }
.brand strong { font-size: 21px; line-height: 1.1; letter-spacing: .09em; }
.brand span { margin-top: 4px; font-size: 11px; opacity: .82; }
.brand-large strong { font-size: 34px; }
.brand-large span { font-size: 13px; }
.account-area { display: flex; align-items: center; gap: 16px; }
.account-copy { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-size: 13px; }
.account-copy span { opacity: .72; }

.workspace { padding: 26px 28px 32px; max-width: 1800px; margin: 0 auto; }
.page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    margin-bottom: 18px;
}
.page-head h1 { margin: 3px 0 6px; font-size: 28px; color: var(--petroleo); }
.page-head p, .muted { margin: 0; color: var(--muted); }
.eyebrow {
    color: var(--verde);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.plan-badge {
    flex: 0 0 auto;
    padding: 7px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--petroleo);
    font-size: 12px;
    font-weight: 800;
}
.plan-total { background: #eef8f1; border-color: var(--verde-claro); color: var(--floresta); }

.search-card {
    padding: 16px;
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
}
.car-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.search-field { min-width: 0; }
label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; color: var(--petroleo); }
input[type="text"], input[type="email"], input[type="password"] {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid #cbd8d2;
    border-radius: 8px;
    outline: none;
    color: var(--text);
    background: #fff;
}
input:focus { border-color: var(--verde); box-shadow: 0 0 0 3px rgba(79, 163, 106, .14); }
.button {
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 800;
}
.button-primary { color: #fff; background: var(--petroleo); }
.button-primary:hover { background: #103b4e; }
.button-ghost { color: #fff; background: transparent; border-color: rgba(255,255,255,.28); }
.button-ghost:hover { background: rgba(255,255,255,.08); }
.button-block { width: 100%; margin-top: 8px; }
.field-error { display: block; margin-top: 5px; color: var(--danger); font-size: 12px; }
.alert { margin: 0 0 18px; padding: 12px 14px; border-radius: 9px; font-size: 13px; }
.alert-danger { color: #782d2d; background: var(--danger-bg); border: 1px solid #efcaca; }
.alert ul { margin: 0; padding-left: 18px; }

.territorial-layout {
    display: grid;
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
    min-height: 650px;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow);
}
.info-panel { border-right: 1px solid var(--line); background: #fff; overflow: auto; max-height: 76vh; }
.panel-section { padding: 19px; border-bottom: 1px solid var(--line); }
.panel-section:last-child { border-bottom: 0; }
.section-heading h2 { margin: 4px 0 0; color: var(--petroleo); font-size: 20px; }
.section-heading.compact h2 { font-size: 17px; }
.property-data { margin: 16px 0 0; }
.property-data > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 9px; padding: 8px 0; border-top: 1px solid #edf2ef; }
.property-data dt { color: var(--muted); font-size: 11px; }
.property-data dd { margin: 0; text-align: right; overflow-wrap: anywhere; font-size: 12px; font-weight: 700; }
.layer-list { margin-top: 12px; }
.layer-item {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    margin: 0;
    padding: 9px 0;
    border-top: 1px solid #edf2ef;
    font-weight: 600;
}
.layer-control { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.layer-control input { accent-color: var(--floresta); }
.layer-value { color: var(--muted); font-size: 11px; text-align: right; }
.layer-disabled { opacity: .48; }
.warning-text, .warning-text { display: block; color: #916718; font-size: 10px; }
.small { font-size: 12px; line-height: 1.55; }
.gleba-metric { margin-top: 14px; padding: 12px; border-radius: 9px; background: #f2f8f4; }
.gleba-metric span { display: block; color: var(--muted); font-size: 11px; }
.gleba-metric strong { display: block; margin-top: 5px; color: var(--floresta); font-size: 22px; }
.gleba-status { margin-top: 9px; color: var(--muted); font-size: 11px; }
.locked-panel { background: #fbfcfb; }
.locked-panel h2 { margin: 4px 0 7px; font-size: 17px; color: var(--petroleo); }
.locked-panel p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.empty-info { padding: 26px 20px; }
.empty-info h2 { margin: 5px 0 8px; color: var(--petroleo); }
.empty-info p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 13px; }

.map-panel { position: relative; min-width: 0; background: #e8efeb; }
.map { width: 100%; height: 100%; min-height: 650px; }
.map-note {
    position: absolute;
    z-index: 500;
    left: 12px;
    bottom: 12px;
    max-width: min(620px, calc(100% - 24px));
    padding: 7px 10px;
    border: 1px solid rgba(11,45,60,.12);
    border-radius: 7px;
    background: rgba(255,255,255,.94);
    color: #50636a;
    font-size: 10px;
    box-shadow: 0 5px 16px rgba(11,45,60,.08);
}
.leaflet-container { font-family: inherit; }
.leaflet-control-layers { border: 1px solid var(--line) !important; box-shadow: var(--shadow) !important; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(330px, .9fr) minmax(420px, 1.1fr); }
.login-brand-panel {
    padding: 58px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    background: var(--petroleo);
    border-right: 7px solid var(--verde);
}
.login-statement { max-width: 520px; margin: 30px 0 0; font-size: 23px; line-height: 1.45; color: #e8f3ec; }
.login-brand-panel small { color: rgba(255,255,255,.66); }
.login-form-panel { display: grid; place-items: center; padding: 34px; }
.login-card { width: min(460px, 100%); padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.login-card h1 { margin: 5px 0 7px; color: var(--petroleo); }
.login-card .muted { margin-bottom: 22px; line-height: 1.55; }
.login-card label { margin-top: 13px; }

@media (max-width: 1000px) {
    .territorial-layout { grid-template-columns: 330px minmax(0, 1fr); }
    .login-brand-panel { padding: 36px; }
}
@media (max-width: 780px) {
    .workspace { padding: 18px; }
    .topbar { padding: 13px 18px; }
    .account-copy { display: none; }
    .page-head { align-items: flex-start; flex-direction: column; }
    .car-search { grid-template-columns: 1fr; }
    .territorial-layout { display: flex; flex-direction: column; }
    .info-panel { max-height: none; border-right: 0; border-bottom: 1px solid var(--line); }
    .map, .territorial-layout { min-height: 520px; }
    .map { height: 62vh; }
    .login-page { grid-template-columns: 1fr; }
    .login-brand-panel { min-height: 260px; border-right: 0; border-bottom: 7px solid var(--verde); }
    .login-statement { font-size: 19px; }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================
   MÓDULO 2 — PÁGINA PÚBLICA / RAIZ DO CONFRONTA
   Estes estilos pertencem à nova entrada pública do sistema e
   não alteram a identidade visual nem os templates do Módulo 1.
   ============================================================ */
.public-home-body {
    min-height: 100vh;
    background: #f5f8f6;
}
.public-nav-wrap {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--petroleo);
    border-bottom: 3px solid var(--verde);
}
.public-nav {
    width: min(1180px, calc(100% - 40px));
    min-height: 76px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.public-brand { flex: 0 0 auto; }
.public-menu {
    display: flex;
    align-items: center;
    gap: 26px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
.public-menu a { opacity: .88; }
.public-menu a:hover { opacity: 1; }
.public-login-link {
    padding: 9px 14px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 8px;
}
.public-hero {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 78px 0 54px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    align-items: center;
    gap: 64px;
}
.public-hero-copy h1 {
    max-width: 760px;
    margin: 12px 0 18px;
    color: var(--petroleo);
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.04;
    letter-spacing: -.035em;
}
.public-hero-copy > p {
    max-width: 720px;
    margin: 0;
    color: #56686f;
    font-size: 17px;
    line-height: 1.75;
}
.public-eyebrow { font-size: 11px; }
.public-hero-actions {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.button-public-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--petroleo);
}
.button-public-primary:hover { background: #103b4e; }
.button-public-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--petroleo);
    background: #fff;
    border-color: #cbd8d2;
}
.button-public-secondary:hover { border-color: var(--verde); }
.public-visual-card {
    position: relative;
    min-height: 410px;
    overflow: hidden;
    border: 1px solid #d6e2dc;
    border-radius: 22px;
    background: #eef4f0;
}
.territory-shape {
    position: absolute;
    border: 2px solid rgba(31, 90, 46, .5);
    background: rgba(79, 163, 106, .14);
    transform: rotate(-8deg);
}
.territory-shape-a {
    width: 280px;
    height: 230px;
    top: 56px;
    left: 34px;
    clip-path: polygon(16% 0, 92% 12%, 100% 72%, 68% 100%, 8% 84%, 0 28%);
}
.territory-shape-b {
    width: 270px;
    height: 245px;
    right: 18px;
    bottom: 40px;
    border-color: rgba(11,45,60,.5);
    background: rgba(11,45,60,.09);
    transform: rotate(10deg);
    clip-path: polygon(24% 0, 88% 5%, 100% 55%, 80% 100%, 12% 88%, 0 33%);
}
.territory-core {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--petroleo);
}
.territory-core strong { font-size: 22px; letter-spacing: .08em; }
.territory-core span { margin-top: 10px; font-size: 13px; line-height: 1.55; color: #587068; }
.public-panels {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 10px 0 76px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.public-panel {
    min-height: 100%;
    padding: 28px;
    background: #fff;
    border: 1px solid #dce5e0;
    border-radius: 16px;
}
.public-panel h2 {
    margin: 7px 0 13px;
    color: var(--petroleo);
    font-size: 23px;
    line-height: 1.18;
}
.public-panel p {
    margin: 0;
    color: #5f7177;
    font-size: 14px;
    line-height: 1.65;
}
.public-panel ul {
    margin: 20px 0 24px;
    padding: 0;
    list-style: none;
}
.public-panel li {
    position: relative;
    padding: 8px 0 8px 22px;
    border-top: 1px solid #edf2ef;
    color: #31464e;
    font-size: 13px;
    line-height: 1.45;
}
.public-panel li::before {
    content: "";
    position: absolute;
    left: 1px;
    top: 14px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--verde);
}
.plan-panel-total {
    border-color: #b8d7c0;
    background: #f8fcf9;
}
.about-panel { background: var(--petroleo); border-color: var(--petroleo); }
.about-panel .eyebrow { color: var(--verde-claro); }
.about-panel h2, .about-panel .panel-action { color: #fff; }
.about-panel p { color: rgba(255,255,255,.78); }
.public-quote {
    margin-top: 20px !important;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.14);
    font-weight: 700;
}
.panel-action {
    display: inline-flex;
    margin-top: 6px;
    color: var(--floresta);
    font-size: 13px;
    font-weight: 800;
}
.public-footer {
    min-height: 110px;
    padding: 28px max(20px, calc((100% - 1180px) / 2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: rgba(255,255,255,.72);
    background: #08232f;
}
.public-footer > div { display: flex; flex-direction: column; }
.public-footer strong { color: #fff; letter-spacing: .08em; }
.public-footer span { margin-top: 3px; font-size: 11px; }
.public-footer p { margin: 0; font-size: 12px; }

@media (max-width: 920px) {
    .public-hero { grid-template-columns: 1fr; gap: 34px; padding-top: 54px; }
    .public-visual-card { min-height: 330px; }
    .public-panels { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .public-nav { width: min(100% - 28px, 1180px); min-height: 68px; }
    .public-menu { gap: 12px; font-size: 11px; }
    .public-menu a:not(.public-login-link) { display: none; }
    .public-hero, .public-panels { width: min(100% - 28px, 1180px); }
    .public-hero { padding-top: 42px; }
    .public-hero-copy h1 { font-size: 40px; }
    .public-footer { align-items: flex-start; flex-direction: column; }
}

/* ============================================================
   MÓDULO 2 v0.3.2 — refinamento da Área Aplicativo
   O bloco abaixo substitui visualmente o layout lateral fixo da
   consulta por um painel flutuante sobre o mapa, sem alterar o
   CSS operacional do Módulo 1 em administracao/.
   ============================================================ */
input[type="tel"] {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid #cbd8d2;
    border-radius: 8px;
    outline: none;
    color: var(--text);
    background: #fff;
}
.button-secondary {
    color: var(--petroleo);
    background: #fff;
    border-color: #cbd8d2;
}
.button-secondary:hover { border-color: var(--verde); background: #f8fbf9; }
.alert-success { color: #215a31; background: #eef8f1; border: 1px solid #b9d9c1; }
.alert-info { color: #254c5e; background: #f0f7fa; border: 1px solid #c5dce6; }
.message-stack { margin-bottom: 14px; }
.message-stack .alert { margin-bottom: 8px; }
.topbar-plan-link {
    padding: 7px 11px;
    border: 1px solid rgba(167, 213, 176, .42);
    border-radius: 999px;
    color: #dff2e4;
    font-size: 11px;
    font-weight: 800;
}
.workspace { max-width: none; padding: 18px 20px 24px; }
.app-page-head { margin-bottom: 12px; }
.app-page-head h1 { font-size: 25px; }
.search-card-compact { margin-bottom: 12px; padding: 12px 14px; }
.field-help { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.plan-none { color: #745917; background: #fff9e8; border-color: #ead79e; }

.subscription-gate {
    min-height: 260px;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: var(--shadow);
}
.subscription-gate h2 { margin: 7px 0 9px; color: var(--petroleo); font-size: 27px; }
.subscription-gate p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.65; }

.map-workspace {
    position: relative;
    width: 100%;
    height: calc(100vh - 246px);
    min-height: 560px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #e6ede9;
    box-shadow: var(--shadow);
}
.map-expanded { width: 100%; height: 100%; min-height: 0; }
.map-workspace .leaflet-container { background: #e7eee9; }

.floating-info-card {
    position: absolute;
    z-index: 650;
    top: 14px;
    left: 58px;
    width: min(365px, calc(100% - 130px));
    max-height: calc(100% - 62px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(11, 45, 60, .16);
    border-radius: 12px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 34px rgba(11,45,60,.16);
    backdrop-filter: blur(5px);
    transition: width .18s ease, max-height .18s ease;
}
.floating-info-card.is-collapsed {
    width: 235px;
    max-height: 58px;
}
.floating-info-card.is-collapsed .floating-info-body { display: none; }
.floating-info-card.is-collapsed .floating-info-header h2 { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.floating-info-card.is-collapsed .floating-info-header .eyebrow { display: none; }
.floating-info-header {
    min-height: 58px;
    padding: 11px 12px 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #fff;
}
.floating-info-header h2 { margin: 3px 0 0; color: var(--petroleo); font-size: 17px; line-height: 1.15; }
.floating-info-toggle {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid #cbd8d2;
    border-radius: 7px;
    background: #fff;
    color: var(--petroleo);
    cursor: pointer;
    font-size: 19px;
    font-weight: 700;
}
.floating-info-toggle:hover { border-color: var(--verde); }
.floating-info-body { overflow-y: auto; overscroll-behavior: contain; }
.floating-section { padding: 13px 14px; border-bottom: 1px solid var(--line); }
.floating-section:last-child { border-bottom: 0; }
.floating-section .property-data { margin-top: 0; }
.floating-section .property-data > div { grid-template-columns: 105px minmax(0, 1fr); padding: 6px 0; }
.floating-section .section-heading h3 { margin: 3px 0 0; color: var(--petroleo); font-size: 15px; }
.download-main {
    margin-top: 10px;
    min-height: 34px;
    padding: 8px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: 1px solid #b8d7c0;
    border-radius: 7px;
    background: #f4faf5;
    color: var(--floresta);
    font-size: 11px;
    font-weight: 800;
}
.download-main:hover { background: #ebf6ee; }
.layer-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 6px;
    border-top: 1px solid #edf2ef;
}
.layer-row .layer-item { border-top: 0; padding: 8px 0; }
.layer-download {
    padding: 4px 6px;
    border: 1px solid #cbd8d2;
    border-radius: 5px;
    color: var(--petroleo);
    font-size: 9px;
    font-weight: 900;
}
.layer-download:hover { border-color: var(--verde); color: var(--floresta); }
.floating-info-empty { width: 320px; }
.floating-info-empty .empty-info { padding: 16px 14px; }
.floating-info-empty .empty-info p { margin: 0; }

.map-floating-tools {
    position: absolute;
    z-index: 650;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 5px;
    padding: 5px;
    border: 1px solid rgba(11,45,60,.14);
    border-radius: 9px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 7px 20px rgba(11,45,60,.12);
}
.map-tool-button {
    min-height: 32px;
    padding: 5px 9px;
    border: 1px solid #d4ded9;
    border-radius: 6px;
    background: #fff;
    color: var(--petroleo);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
}
.map-tool-button:hover:not(:disabled) { border-color: var(--verde); background: #f5faf6; }
.map-tool-button:disabled { opacity: .4; cursor: not-allowed; }
.map-tool-icon { width: 32px; padding: 0; font-size: 15px; }
.map-note { left: auto; right: 12px; max-width: 520px; }
.leaflet-control-layers { max-width: 220px; }

.gleba-panel .button { margin-top: 11px; min-height: 36px; font-size: 11px; }
.gleba-panel .button:disabled { opacity: .45; cursor: not-allowed; }

/* Login e cadastro do cliente: cartão único, sem painel lateral. */
.auth-page {
    min-height: 100vh;
    padding: 38px 20px;
    display: grid;
    place-items: center;
    background: #f4f7f5;
}
.auth-card {
    width: min(430px, 100%);
    padding: 30px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 15px;
    box-shadow: 0 15px 42px rgba(11,45,60,.09);
}
.auth-card-wide { width: min(720px, 100%); }
.auth-brand {
    margin-bottom: 24px;
    display: inline-flex;
    flex-direction: column;
    color: var(--petroleo);
}
.auth-brand strong { font-size: 23px; letter-spacing: .09em; line-height: 1; }
.auth-brand span { margin-top: 5px; color: var(--muted); font-size: 10px; }
.auth-card h1 { margin: 5px 0 8px; color: var(--petroleo); }
.auth-card > .muted { margin-bottom: 20px; line-height: 1.55; font-size: 13px; }
.auth-card label { margin-top: 12px; }
.auth-register-link { margin: 18px 0 0; text-align: center; color: var(--muted); font-size: 12px; }
.auth-register-link a { color: var(--floresta); font-weight: 800; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.form-field-full { grid-column: 1 / -1; }

.plans-head { align-items: center; }
.plan-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.plan-choice-card {
    padding: 26px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 15px;
    box-shadow: var(--shadow);
}
.plan-choice-total { border-color: #b7d8c0; background: #f8fcf9; }
.plan-choice-card h2 { margin: 7px 0 11px; color: var(--petroleo); }
.plan-choice-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.plan-choice-card ul { margin: 18px 0; padding-left: 18px; color: #36505a; font-size: 13px; line-height: 1.8; }
.plan-pending-note {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #e3d39c;
    border-radius: 10px;
    background: #fff9e8;
    color: #6f5a1f;
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .map-workspace { height: calc(100vh - 280px); min-height: 540px; }
    .floating-info-card { left: 52px; width: min(335px, calc(100% - 112px)); }
    .map-floating-tools { top: auto; bottom: 46px; }
    .plan-choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .workspace { padding: 14px; }
    .topbar-plan-link { display: none; }
    .map-workspace { height: 68vh; min-height: 500px; }
    .floating-info-card { top: 56px; left: 10px; width: calc(100% - 20px); max-height: calc(100% - 112px); }
    .floating-info-card.is-collapsed { width: 210px; }
    .map-floating-tools { top: 10px; bottom: auto; left: 56%; max-width: calc(100% - 90px); }
    .map-tool-button:first-child { display: none; }
    .map-note { display: none; }
    .subscription-gate { align-items: flex-start; flex-direction: column; padding: 24px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-field-full { grid-column: auto; }
}

/* MÓDULO 2 — Glebas temporárias: nome, cor, importação, lista individual e alertas. */
.gleba-new-config {
    margin-top: 12px;
    padding: 11px;
    border: 1px solid #dbe7e1;
    border-radius: 9px;
    background: #f8fbf9;
}
.gleba-new-config label { margin: 0 0 6px; font-size: 10px; }
.gleba-new-config input[type="text"] { min-height: 36px; padding: 7px 9px; font-size: 11px; }
.gleba-color-label { display: block; margin-top: 10px; color: var(--petroleo); font-size: 10px; font-weight: 800; }
.gleba-color-picker { display: flex; gap: 8px; margin-top: 7px; }
.gleba-color-swatch {
    width: 27px;
    height: 27px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 7px;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(11,45,60,.10);
}
.gleba-color-swatch[data-color="#2563EB"] { background: #2563EB; }
.gleba-color-swatch[data-color="#DC2626"] { background: #DC2626; }
.gleba-color-swatch[data-color="#F97316"] { background: #F97316; }
.gleba-color-swatch[data-color="#A855F7"] { background: #A855F7; }
.gleba-color-swatch.swatch-white { background: #fff; border-color: #c8d3ce; }
.gleba-color-swatch.is-selected { outline: 2px solid var(--petroleo); outline-offset: 2px; }
.gleba-draw-hint { display: block; margin-top: 9px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.gleba-import-row { margin-top: 9px; }
.gleba-import-status { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.gleba-import-status.is-error { color: #a53737; }
.gleba-import-status.is-success { color: #43675a; }
.gleba-list { display: grid; gap: 8px; margin-top: 10px; }
.gleba-item {
    padding: 9px;
    border: 1px solid #dce5e0;
    border-radius: 8px;
    background: #fff;
}
.gleba-item.has-overlap { border-color: #e5b98a; background: #fffaf4; }
.gleba-item-top { display: grid; grid-template-columns: 14px minmax(0,1fr); gap: 7px; align-items: center; }
.gleba-color-dot { width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(11,45,60,.14); }
.gleba-color-dot.dot-white { border: 1px solid #aab8b2; }
.gleba-name-input {
    width: 100%;
    min-height: 30px !important;
    padding: 5px 7px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 800;
}
.gleba-item-details { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 7px; }
.gleba-item-details strong { color: var(--floresta); font-size: 12px; }
.gleba-origin { padding: 3px 6px; border-radius: 999px; background: #edf4f0; color: #51665d; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.gleba-item-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; margin-top: 7px; }
.gleba-color-select {
    width: 100%;
    min-height: 29px;
    padding: 4px 6px;
    border: 1px solid #cbd8d2;
    border-radius: 6px;
    background: #fff;
    color: var(--text);
    font-size: 9px;
}
.gleba-mini-button {
    min-width: 43px;
    min-height: 29px;
    padding: 4px 7px;
    border: 1px solid #cbd8d2;
    border-radius: 6px;
    background: #fff;
    color: var(--petroleo);
    cursor: pointer;
    font-size: 9px;
    font-weight: 900;
}
.gleba-mini-button:hover { border-color: var(--verde); }
.gleba-overlap-warning { margin-top: 7px; padding: 6px 7px; border-radius: 6px; background: #fff0df; color: #874c15; font-size: 9px; font-weight: 700; line-height: 1.35; }
.map-overlap-alert {
    position: absolute;
    z-index: 850;
    top: 66px;
    left: 50%;
    transform: translateX(-50%);
    max-width: min(640px, calc(100% - 120px));
    padding: 9px 13px;
    border: 1px solid #e1a15d;
    border-radius: 8px;
    background: rgba(255, 244, 228, .97);
    color: #7d4716;
    box-shadow: 0 8px 22px rgba(11,45,60,.13);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}
.map-overlap-alert[hidden] { display: none; }

@media (max-width: 700px) {
    .map-overlap-alert { top: 50px; max-width: calc(100% - 24px); font-size: 10px; }
}

/* ======================================================================
   MÓDULO 2 v0.3.4 — consulta compacta + painel territorial completo
   ====================================================================== */
.app-query-header { margin-bottom: 10px; }
.app-query-title { margin-bottom: 8px; }
.app-query-title h1 { margin: 2px 0 0; color: var(--petroleo); font-size: 25px; }
.app-query-row {
    display: grid;
    grid-template-columns: minmax(560px, 1.7fr) minmax(280px, .8fr);
    gap: 14px;
    align-items: stretch;
}
.search-card-inline {
    margin: 0;
    padding: 10px 12px;
    border-radius: 11px;
    box-shadow: none;
}
.search-card-inline .car-search { gap: 10px; }
.search-card-inline .button { min-height: 39px; }
.app-query-description {
    margin: 0;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    border-left: 3px solid var(--verde-medio);
    border-radius: 0 9px 9px 0;
    background: #f4f8f6;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}
.app-query-description.standalone { max-width: 760px; margin-top: 8px; }

/* O painel ganhou largura somente para acomodar os dados cruzados. */
.floating-info-card { width: min(430px, calc(100% - 130px)); }
.floating-section .property-data-complete > div { grid-template-columns: 118px minmax(0, 1fr); }
.property-data-complete dd { overflow-wrap: anywhere; }

.layer-row-wrap { border-top: 1px solid #edf2ef; }
.layer-row-wrap .layer-row { border-top: 0; }
.layer-feature-details { margin: -2px 0 7px 23px; }
.source-details > summary,
.analysis-group > summary {
    cursor: pointer;
    color: var(--petroleo);
    font-size: 9px;
    font-weight: 800;
}
.source-details > summary { color: #526a61; }
.source-details[open] > summary { margin-bottom: 6px; }

.territorial-cross-section .tiny { margin: 6px 0 10px; font-size: 9px; line-height: 1.45; }
.analysis-groups { display: grid; gap: 7px; }
.analysis-group {
    border: 1px solid #dce6e1;
    border-radius: 8px;
    background: #fbfdfc;
    overflow: hidden;
}
.analysis-group.analysis-important { border-color: #e5b98a; background: #fffaf4; }
.analysis-group > summary {
    min-height: 37px;
    padding: 8px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    list-style: none;
}
.analysis-group > summary::-webkit-details-marker { display: none; }
.analysis-group > summary::before { content: '›'; margin-right: 2px; color: #789087; font-size: 13px; transition: transform .12s ease; }
.analysis-group[open] > summary::before { transform: rotate(90deg); }
.analysis-group > summary > span { flex: 1; }
.analysis-group > summary > strong {
    min-width: 25px;
    padding: 3px 6px;
    border-radius: 999px;
    text-align: center;
    font-size: 8px;
}
.status-ok { color: #1f6b36; background: #eaf6ed; }
.status-alert { color: #9b3c20; background: #fff0e8; }
.status-muted { color: #68766f; background: #edf2ef; }
.analysis-group-body { padding: 0 9px 9px; }
.external-layer-control {
    margin: 1px 0 8px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #415a50;
    font-size: 9px;
    font-weight: 700;
}
.source-empty { margin: 3px 0 0; color: #68766f; font-size: 9px; line-height: 1.45; }
.source-empty.success { color: #2d6a3f; }
.source-record-list { display: grid; gap: 6px; max-height: 260px; overflow-y: auto; }
.source-record {
    padding: 7px;
    border: 1px solid #e3eae6;
    border-radius: 7px;
    background: #fff;
}
.source-record-warning { border-color: #efc8b4; background: #fffaf7; }
.source-record > strong { display: block; margin-bottom: 4px; color: var(--petroleo); font-size: 9px; }
.source-record dl { margin: 0; }
.source-record dl > div {
    padding: 3px 0;
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 7px;
    border-top: 1px solid #f0f3f1;
    font-size: 8.5px;
}
.source-record dl > div:first-child { border-top: 0; }
.source-record dt { color: #6a7b74; }
.source-record dd { margin: 0; color: #213c48; font-weight: 700; overflow-wrap: anywhere; }

.gleba-item-controls { grid-template-columns: minmax(0,1fr) auto auto; }
.gleba-delete-button { color: #a63838; border-color: #e6c1c1; }
.gleba-delete-button:hover { color: #842626; border-color: #c88181; background: #fff6f6; }

@media (max-width: 1100px) {
    .app-query-row { grid-template-columns: 1fr; }
    .app-query-description { min-height: 46px; }
    .floating-info-card { width: min(400px, calc(100% - 118px)); }
}
@media (max-width: 700px) {
    .app-query-title h1 { font-size: 22px; }
    .search-card-inline .car-search { grid-template-columns: 1fr; }
    .app-query-description { border-left-width: 2px; font-size: 11px; }
    .floating-info-card { width: calc(100% - 20px); }
    .source-record dl > div { grid-template-columns: 105px minmax(0, 1fr); }
}

/* ======================================================================
   MÓDULO 2 — CONFRONTA v0.3.5
   Navegação fixa, home interna, tela operacional CAR, painel direito,
   relatório e fluxo guiado de glebas.
   ====================================================================== */
.client-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    background: #f5f7f8;
}
.client-rail {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1500;
    width: 72px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-right: 1px solid #e1e7e8;
}
.client-rail-logo {
    height: 58px;
    display: grid;
    place-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid #edf1f2;
}
.client-rail-logo img { width: 42px; height: 42px; object-fit: contain; }
.client-rail-nav { display: grid; gap: 5px; padding: 12px 6px; }
.client-rail-link {
    min-height: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 7px;
    color: #64747a;
    font-size: 9px;
    font-weight: 700;
}
.client-rail-link:hover { color: var(--petroleo); background: #f1f7f4; }
.client-rail-link svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.client-rail-account {
    margin-top: auto;
    padding: 9px 5px 12px;
    display: grid;
    gap: 7px;
    border-top: 1px solid #edf1f2;
    text-align: center;
}
.client-rail-user {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    color: #2e424a;
    overflow-wrap: anywhere;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.25;
}
.client-rail-account form { margin: 0; }
.client-rail-logout {
    width: 100%;
    border: 0;
    background: transparent;
    color: #79878c;
    cursor: pointer;
    font-size: 9px;
    font-weight: 800;
}
.client-rail-logout:hover { color: #a53737; }
.client-main { grid-column: 2; min-width: 0; min-height: 100vh; position: relative; }
.client-topbar {
    position: sticky;
    top: 0;
    z-index: 1400;
    min-height: 49px;
    padding: 7px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid #e2e8ea;
}
.client-breadcrumb { display: flex; align-items: center; gap: 7px; color: #75838a; font-size: 10px; }
.client-breadcrumb svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.new-consult-button {
    min-height: 29px;
    padding: 6px 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 4px;
    background: #128a86;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}
.new-consult-button:hover { background: #0c7572; }
.client-content { width: 100%; padding: 14px 16px 18px; }
.whatsapp-fixed {
    position: fixed;
    right: 18px;
    bottom: 17px;
    z-index: 1600;
    min-height: 40px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    border-radius: 999px;
    background: #0b5d5c;
    color: #fff;
    box-shadow: 0 8px 22px rgba(11,45,60,.18);
    cursor: default;
}
.whatsapp-fixed svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.55; }
.whatsapp-fixed span { font-size: 10px; font-weight: 800; }

/* Home interna */
.client-welcome {
    min-height: calc(100vh - 82px);
    padding: 6px 18px 30px;
    background: #fff;
    border: 1px solid #edf1f2;
}
.client-welcome-copy { max-width: 650px; }
.client-welcome-kicker { margin: 0 0 24px; color: #253b43; font-size: 12px; }
.client-welcome-copy h1 { margin: 0 0 12px; color: #078b86; font-size: clamp(26px, 3vw, 40px); line-height: 1.17; letter-spacing: -.025em; }
.client-welcome-copy > p:not(.client-welcome-kicker) { max-width: 620px; margin: 0 0 12px; color: #56686f; font-size: 12px; line-height: 1.5; }
.client-welcome-copy strong { display: block; margin-top: 9px; color: #253b43; font-size: 13px; }
.client-welcome-copy > span { display: block; margin-top: 3px; color: #75858b; font-size: 10px; }
.client-welcome-brand { min-height: 390px; display: flex; align-items: center; justify-content: center; gap: 25px; }
.client-welcome-brand img { width: clamp(150px, 18vw, 250px); max-height: 250px; object-fit: contain; }
.client-welcome-brand span { color: #131d26; font-family: "Arial Black", Inter, Manrope, sans-serif; font-size: clamp(48px, 7vw, 94px); font-weight: 900; letter-spacing: .035em; }
.client-home-gate { margin-top: 10px; }

/* Nova consulta */
.new-query-drawer { display: none; margin-bottom: 12px; scroll-margin-top: 60px; }
.new-query-drawer:target, .new-query-drawer.is-open { display: block; }
.new-query-box { padding: 13px 14px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.new-query-head { margin-bottom: 8px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.new-query-head h2 { margin: 3px 0 0; color: var(--petroleo); font-size: 18px; }
.new-query-close { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; color: #728188; font-size: 20px; }
.compact-alert { margin: 10px 0 0; }

/* Tela operacional */
.territorial-screen {
    height: calc(100vh - 82px);
    min-height: 610px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce5e0;
}
.territorial-map-column { position: relative; min-width: 0; min-height: 0; background: #273b35; }
.territorial-map { width: 100%; height: 100%; min-height: 610px; }
.property-layers-bar {
    position: absolute;
    z-index: 900;
    top: 10px;
    right: 10px;
    width: min(330px, calc(100% - 80px));
    color: #fff;
}
.property-layers-bar > summary {
    min-height: 34px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    list-style: none;
    cursor: pointer;
    background: #159a8f;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 800;
    box-shadow: 0 4px 14px rgba(0,0,0,.13);
}
.property-layers-bar > summary::-webkit-details-marker { display: none; }
.property-layers-summary-icon { font-size: 15px; transition: transform .15s ease; }
.property-layers-bar[open] .property-layers-summary-icon { transform: rotate(180deg); }
.property-layers-menu { max-height: 310px; overflow: auto; padding: 9px; background: rgba(255,255,255,.98); color: var(--text); border: 1px solid #dbe5e0; border-top: 0; box-shadow: 0 8px 20px rgba(11,45,60,.13); }
.property-layer-option { margin: 0; padding: 7px 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #eef2f0; color: #34484f; font-size: 11px; font-weight: 700; }
.property-layer-option:last-child { border-bottom: 0; }
.property-layer-option input { accent-color: #159a8f; }
.map-orientation-tools { position: absolute; z-index: 850; top: 10px; left: 50%; transform: translateX(-50%); display: flex; gap: 4px; padding: 4px; background: rgba(255,255,255,.94); border-radius: 7px; box-shadow: 0 4px 14px rgba(0,0,0,.12); }
.map-orientation-tools button { min-height: 29px; padding: 5px 8px; border: 1px solid #dbe3e0; border-radius: 4px; background: #fff; color: var(--petroleo); cursor: pointer; font-size: 10px; font-weight: 800; }
.map-overlap-alert { position: absolute; z-index: 880; top: 54px; left: 50%; transform: translateX(-50%); max-width: 560px; padding: 8px 12px; border: 1px solid #e9ad60; border-radius: 7px; background: rgba(255,247,235,.97); color: #8a4b08; font-size: 11px; font-weight: 700; box-shadow: 0 7px 20px rgba(0,0,0,.11); }

/* Painel direito */
.territorial-side-panel {
    min-width: 0;
    height: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-left: 1px solid #dce5e0;
}
.territorial-side-top { padding: 8px 10px 9px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e7ece9; }
.territorial-view-icons { display: flex; gap: 4px; }
.territorial-view-button { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #d9e2de; border-radius: 4px; background: #fff; color: #6f7e84; cursor: pointer; }
.territorial-view-button.is-active { background: #edf7f4; color: #0d8f87; border-color: #9ed7ce; }
.territorial-view-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.territorial-car-code { min-width: 0; text-align: right; }
.territorial-car-code span { display: block; color: #738188; font-size: 9px; }
.territorial-car-code strong { display: block; max-width: 250px; margin-top: 2px; color: var(--petroleo); font-size: 10px; overflow-wrap: anywhere; }
.territorial-side-body {
    flex: 1 1 auto;
    min-height: 0;
    height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

/* MÓDULO 2 — rolagem exclusiva do painel lateral direito. */
.territorial-side-body::-webkit-scrollbar { width: 9px; }
.territorial-side-body::-webkit-scrollbar-track { background: #f3f6f4; }
.territorial-side-body::-webkit-scrollbar-thumb { background: #b9c9c2; border: 2px solid #f3f6f4; border-radius: 999px; }
.territorial-side-body::-webkit-scrollbar-thumb:hover { background: #8ca69b; }
.territorial-side-body { scrollbar-width: thin; scrollbar-color: #b9c9c2 #f3f6f4; }
.car-summary-card { padding: 12px; border-bottom: 1px solid #e7ece9; }
.car-preview { height: 116px; margin-bottom: 8px; display: grid; place-items: center; background: #f7faf8; border: 1px solid #e3ebe7; }
.car-preview svg { width: 100%; height: 100%; }
.car-summary-copy { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #394d54; font-size: 11px; }
.car-summary-copy strong { color: var(--petroleo); }
.button-compact { min-height: 31px; padding: 6px 9px; font-size: 10px; }
.territorial-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #dfe7e3; }
.territorial-tab { min-height: 38px; border: 0; border-bottom: 2px solid transparent; background: #fff; color: #68777d; cursor: pointer; font-size: 11px; font-weight: 800; }
.territorial-tab.is-active { color: #0d8f87; border-bottom-color: #0d8f87; }
.territorial-tab-panel { display: none; padding: 12px; }
.territorial-tab-panel.is-active { display: block; }
.panel-section-title { margin-bottom: 8px; }
.panel-section-title h3 { margin: 0; color: var(--petroleo); font-size: 14px; }
.panel-section-title span { display: block; margin-top: 2px; color: #78868b; font-size: 9px; }
.car-layer-list { border-top: 1px solid #edf1ef; }
.car-layer-row { min-height: 41px; padding: 7px 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid #edf1ef; }
.car-layer-row label { margin: 0; min-width: 0; display: flex; align-items: center; gap: 7px; color: #34484f; font-size: 10px; }
.car-layer-row label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.car-layer-row input { accent-color: var(--floresta); }
.car-layer-row-actions { display: flex; align-items: center; gap: 7px; color: #6e7e84; font-size: 9px; }
.car-layer-row-actions a { padding: 3px 5px; border: 1px solid #cfdcd6; border-radius: 4px; color: var(--petroleo); font-weight: 800; }
.alert-title { margin-top: 18px; }
.property-alert-list { display: grid; gap: 7px; }
.property-alert-item { padding: 9px; border: 1px solid #e3e9e6; border-left: 3px solid #aeb9b5; background: #fbfcfb; }
.property-alert-item.state-alerta { border-left-color: #d97706; background: #fffbf3; }
.property-alert-item.state-ok { border-left-color: #4FA36A; }
.property-alert-item.state-nao_verificado { border-left-color: #9aa6aa; }
.property-alert-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.property-alert-head strong { color: #34484f; font-size: 10px; }
.property-alert-head span { color: #6d7c82; font-size: 9px; font-weight: 800; }
.property-alert-item p { margin: 4px 0 0; color: #65767c; font-size: 9px; line-height: 1.4; }
.property-alert-item details { margin-top: 6px; font-size: 9px; }
.alert-records { max-height: 180px; overflow: auto; }
.alert-records dl { margin: 7px 0 0; padding: 6px; background: #fff; border: 1px solid #e8eeeb; }
.alert-records dl div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 6px; padding: 3px 0; }
.alert-records dt { color: #75858b; }
.alert-records dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.show-alert-map { margin: 7px 0 0; display: flex; gap: 6px; align-items: center; color: #4e636b; font-size: 9px; }

/* Glebas */
.gleba-heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.gleba-session-summary { margin-bottom: 9px; padding: 8px 9px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #f3f8f5; color: #607178; font-size: 9px; }
.gleba-session-summary strong { color: var(--floresta); font-size: 12px; }
.gleba-list { display: grid; gap: 8px; margin-bottom: 9px; }
.gleba-item { padding: 9px; border: 1px solid #dfe7e3; background: #fff; }
.gleba-item.has-overlap { border-left: 3px solid #d97706; }
.gleba-item-top { display: grid; grid-template-columns: 14px minmax(0, 1fr); align-items: center; gap: 7px; }
.gleba-color-dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); }
.gleba-color-dot.dot-white { box-shadow: inset 0 0 0 1px #aeb9b5; }
.gleba-name-input { min-height: 30px !important; padding: 5px 7px !important; font-size: 10px; font-weight: 800; }
.gleba-item-details { margin-top: 5px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #718087; font-size: 9px; }
.gleba-item-details strong { color: #315f43; font-size: 11px; }
.gleba-item-controls { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 4px; }
.gleba-mini-button { min-height: 27px; padding: 4px 6px; border: 1px solid #cfdcd6; border-radius: 4px; background: #fff; color: var(--petroleo); cursor: pointer; font-size: 8px; font-weight: 800; }
.gleba-mini-button:hover { background: #f1f7f4; }
.gleba-mini-button.is-editing { background: #eef8f1; color: var(--floresta); }
.gleba-delete-button { color: #9a3838; border-color: #e4c8c8; }
.gleba-overlap-warning { margin-top: 7px; padding: 6px; background: #fff7eb; color: #8a4b08; font-size: 8.5px; line-height: 1.4; }
.gleba-workflow { min-height: 360px; }
.gleba-workflow-head { margin-bottom: 12px; display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: start; gap: 8px; }
.gleba-workflow-head h3 { margin: 2px 0 0; color: var(--petroleo); font-size: 14px; }
.gleba-back-button, .gleba-cancel-button { border: 0; background: transparent; cursor: pointer; }
.gleba-back-button { width: 28px; height: 28px; color: #0d8f87; font-size: 18px; }
.gleba-cancel-button { padding: 5px 6px; color: #b33c3c; font-size: 9px; font-weight: 800; }
.gleba-step > p { margin: 0 0 10px; color: #65767c; font-size: 10px; line-height: 1.45; }
.gleba-color-grid { display: grid; grid-template-columns: repeat(5, 34px); gap: 8px; padding: 6px 0; }
.gleba-color-swatch { width: 32px; height: 32px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #cfd9d5; cursor: pointer; }
.gleba-color-swatch[data-color="#2563EB"] { background: #2563EB; }
.gleba-color-swatch[data-color="#FFFFFF"] { background: #FFFFFF; }
.gleba-color-swatch[data-color="#DC2626"] { background: #DC2626; }
.gleba-color-swatch[data-color="#F97316"] { background: #F97316; }
.gleba-color-swatch[data-color="#A855F7"] { background: #A855F7; }
.gleba-color-swatch.is-selected { box-shadow: 0 0 0 3px rgba(13,143,135,.28), 0 0 0 1px #0d8f87; }
.gleba-method-card { width: 100%; margin-bottom: 8px; padding: 10px; display: grid; gap: 3px; text-align: left; border: 1px solid #dbe5e0; background: #fff; color: #42565d; cursor: pointer; }
.gleba-method-card:hover { border-color: #9ccfc5; background: #f4faf8; }
.gleba-method-card strong { color: #0d8f87; font-size: 11px; }
.gleba-method-card span { color: #74838a; font-size: 9px; line-height: 1.4; }
.gleba-drawing-instruction { padding: 11px; border: 1px solid #c4dfec; background: #eff9fd; color: #49656f; }
.gleba-drawing-instruction strong, .gleba-drawing-instruction span { display: block; }
.gleba-drawing-instruction strong { color: #0b7285; font-size: 11px; }
.gleba-drawing-instruction span { margin-top: 3px; font-size: 9px; line-height: 1.4; }
.gleba-step label { margin-top: 4px; }
.gleba-pending-metric { margin-top: 10px; padding: 9px; display: flex; justify-content: space-between; gap: 8px; background: #f3f8f5; color: #65767c; font-size: 9px; }
.gleba-pending-metric strong { color: #315f43; font-size: 12px; }
.gleba-save-actions { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.gleba-import-status { margin-top: 7px; color: #607178; font-size: 9px; }
.gleba-import-status.is-error { color: #a53737; }
.gleba-import-status.is-success { color: #2f7a48; }

/* Relatório */
.territorial-report-view { padding: 12px; }
.report-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid #e7ece9; }
.report-head h2 { margin: 3px 0 0; color: var(--petroleo); font-size: 16px; }
.report-section { padding: 12px 0; border-bottom: 1px solid #e7ece9; }
.report-section h3 { margin: 0 0 8px; color: var(--petroleo); font-size: 13px; }
.report-data { margin: 0; }
.report-data div, .report-list > div { padding: 5px 0; display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid #f0f3f2; font-size: 9.5px; }
.report-data dt, .report-list span { color: #6e7e84; }
.report-data dd { margin: 0; text-align: right; font-weight: 700; overflow-wrap: anywhere; }
.report-list strong { text-align: right; color: #34484f; font-size: 9px; }

/* Leaflet: a v0.3.5 não exibe seletor de mapa-base. */
.leaflet-control-layers { display: none !important; }
.leaflet-draw-toolbar { display: none !important; }

@media (max-width: 1000px) {
    .territorial-screen { grid-template-columns: minmax(0, 1fr) 330px; }
}
@media (max-width: 780px) {
    .client-shell { grid-template-columns: 58px minmax(0, 1fr); }
    .client-rail { width: 58px; }
    .client-rail-logo img { width: 35px; height: 35px; }
    .client-content { padding: 8px; }
    .territorial-screen { height: auto; min-height: 0; display: flex; flex-direction: column; }
    .territorial-map-column { height: 62vh; min-height: 470px; }
    .territorial-map { min-height: 470px; }
    .territorial-side-panel { height: auto; max-height: none; border-left: 0; border-top: 1px solid #dce5e0; }
    .territorial-side-body { max-height: none; overflow: visible; }
    .client-welcome-brand { min-height: 280px; flex-direction: column; gap: 10px; }
    .client-welcome-brand img { width: 145px; }
    .client-welcome-brand span { font-size: 45px; }
    .car-search { grid-template-columns: 1fr; }
    .whatsapp-fixed { width: 42px; height: 42px; padding: 0; justify-content: center; }
    .whatsapp-fixed span { display: none; }
}

@media print {
    body { background: #fff !important; }
    .client-rail, .client-topbar, .whatsapp-fixed, .territorial-map-column, .territorial-side-top,
    [data-territorial-view-panel="map"], .message-stack, .new-query-drawer { display: none !important; }
    .client-shell, .client-main, .client-content, .territorial-screen, .territorial-side-panel,
    [data-territorial-view-panel="report"] { display: block !important; width: 100% !important; height: auto !important; border: 0 !important; overflow: visible !important; }
    .territorial-report-view { padding: 0 !important; }
    #print-current-report { display: none !important; }
}


/* v0.3.5 revisão — consulta limpa e sem cabeçalhos redundantes. */
.new-query-box-simple { position: relative; padding-top: 42px; }
.new-query-box-simple .new-query-close { position: absolute; top: 10px; right: 10px; }
.new-query-box-simple .car-search { margin: 0; }


/* Ajuste — área da gleba em tempo real durante desenho/edição. */
.map-live-area {
    position: absolute;
    z-index: 760;
    left: 14px;
    bottom: 16px;
    min-width: 148px;
    padding: 8px 11px;
    display: grid;
    gap: 2px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 6px;
    background: rgba(11,45,60,.90);
    color: #fff;
    box-shadow: 0 5px 18px rgba(11,45,60,.16);
    pointer-events: none;
}
.map-live-area[hidden] { display: none !important; }
.map-live-area span { font-size: 9px; opacity: .82; }
.map-live-area strong { font-size: 16px; font-weight: 800; }

/* Ajuste — mapa vetorial no relatório impresso. */
.report-map-section { break-inside: avoid; page-break-inside: avoid; }
.report-map-preview {
    width: 100%;
    min-height: 220px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #dce5e0;
    background: #f7faf8;
}
.report-map-preview svg { display: block; width: 100%; height: auto; max-height: 420px; }
.report-map-note { margin: 6px 0 0; color: #718087; font-size: 8.5px; line-height: 1.4; }
.report-gleba-label {
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 4px;
    stroke-linejoin: round;
    fill: #0B2D3C;
    font-family: Inter, Manrope, "Segoe UI", sans-serif;
    font-size: 13px;
    font-weight: 800;
}

@media print {
    .report-map-preview { min-height: 300px !important; border-color: #aebbb6 !important; }
    .report-map-preview svg { max-height: 360px !important; }
    .report-map-note { color: #4d5f66 !important; }
    .report-gleba-label { font-size: 14px; }
}


/* ======================================================================
   MÓDULO 2 — LOCALIZAÇÃO RÁPIDA DE CAR E GLEBAS
   ====================================================================== */
.car-preview.is-map-locator {
    cursor: zoom-in;
    user-select: none;
}
.car-preview.is-map-locator:hover {
    border-color: #8fc4ad;
    background: #f2f8f5;
}
.car-preview.is-map-locator:focus-visible {
    outline: 2px solid #4FA36A;
    outline-offset: 2px;
}

.gleba-item-detail-info {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.gleba-map-locator {
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #cfdcd6;
    border-radius: 5px;
    background: #fff;
    color: #0B2D3C;
    cursor: zoom-in;
}
.gleba-map-locator:hover {
    border-color: #4FA36A;
    background: #f1f7f4;
}
.gleba-map-locator:focus-visible {
    outline: 2px solid #4FA36A;
    outline-offset: 2px;
}
.gleba-map-locator svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ======================================================================
   CONFRONTA v0.3.6 — Home pública responsiva e planos dinâmicos
   ====================================================================== */
.home-v036 { background:#f7faf8; }
.home-v036 .public-nav-wrap { position:sticky; top:0; z-index:1000; backdrop-filter:blur(12px); background:rgba(255,255,255,.94); border-bottom:1px solid rgba(11,45,60,.08); }
.home-v036 .public-nav { min-height:78px; }
.brand-with-logo { flex-direction:row; align-items:center; gap:10px; color:var(--petroleo); }
.brand-with-logo img { width:42px; height:42px; object-fit:contain; }
.brand-with-logo .brand-copy { display:flex; flex-direction:column; }
.brand-with-logo .brand-copy strong { color:var(--petroleo); font-size:20px; letter-spacing:.08em; }
.brand-with-logo .brand-copy small { margin-top:2px; color:var(--muted); font-size:10px; }
.home-v036 .public-menu { align-items:center; }
.home-v036 .public-menu a { color:var(--petroleo); font-size:13px; font-weight:700; }
.home-v036 .public-menu .nav-cta { color:#fff; padding:10px 15px; }
.mobile-menu-button { display:none; border:0; background:transparent; color:var(--petroleo); font-size:24px; cursor:pointer; }
.hero-v036 { min-height:620px; align-items:center; padding-top:70px; padding-bottom:70px; }
.hero-v036 .public-hero-copy h1 { max-width:760px; font-size:clamp(42px,5vw,68px); line-height:1.02; letter-spacing:-.04em; color:var(--petroleo); }
.hero-v036 .public-hero-copy > p { max-width:660px; font-size:17px; line-height:1.72; }
.hero-trust-row { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:22px; color:#49665a; font-size:12px; font-weight:750; }
.territory-hero { min-height:480px; overflow:hidden; background:linear-gradient(145deg,#0b2d3c 0%,#114b51 52%,#1f5a2e 100%); border:1px solid rgba(255,255,255,.12); box-shadow:0 26px 70px rgba(11,45,60,.22); }
.territory-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:34px 34px; }
.territory-hero .territory-shape { opacity:.78; }
.territory-hero .territory-core { background:rgba(255,255,255,.95); color:var(--petroleo); border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,.14); }
.territory-core img { display:block; margin:0 auto 8px; }
.map-chip { position:absolute; z-index:3; padding:9px 12px; border-radius:999px; background:#fff; color:var(--petroleo); font-size:11px; font-weight:850; box-shadow:0 8px 24px rgba(0,0,0,.15); }
.chip-a { top:54px; right:30px; }.chip-b { left:28px; bottom:40px; }
.home-proof { width:min(1180px,calc(100% - 40px)); margin:-20px auto 0; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 45px rgba(11,45,60,.08); overflow:hidden; }
.home-proof div { padding:22px 26px; border-right:1px solid var(--line); }.home-proof div:last-child{border-right:0}.home-proof strong{display:block;color:var(--petroleo);font-size:17px}.home-proof span{display:block;color:var(--muted);margin-top:5px;font-size:12px}
.home-section { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:92px 0; }
.section-heading { max-width:720px; margin-bottom:34px; }.section-heading h2{margin:8px 0 12px;color:var(--petroleo);font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.03em}.section-heading p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}.section-heading-center{text-align:center;margin-left:auto;margin-right:auto}
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.solution-grid article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.solution-grid h3{margin:18px 0 10px;color:var(--petroleo);font-size:20px}.solution-grid p{margin:0;color:var(--muted);line-height:1.65;font-size:13px}.solution-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e9f5ed;color:var(--floresta);font-size:11px;font-weight:900}
.plans-section { padding-top:70px; }.billing-toggle{width:max-content;margin:0 auto 32px;padding:4px;background:#edf2ef;border-radius:999px;display:flex;gap:3px}.billing-toggle button{border:0;background:transparent;padding:10px 24px;border-radius:999px;color:var(--muted);font-weight:800;cursor:pointer}.billing-toggle button.active{background:#fff;color:var(--petroleo);box-shadow:0 2px 8px rgba(11,45,60,.08)}
.public-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:20px; align-items:stretch; }.public-plan-card{position:relative;display:flex;flex-direction:column;padding:30px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 44px rgba(11,45,60,.08)}.public-plan-card.featured{border:2px solid var(--verde);transform:translateY(-6px)}.plan-ribbon{position:absolute;top:-15px;right:24px;padding:8px 15px;border-radius:999px;background:#e9a817;color:#13252d;font-size:11px;font-weight:900}.plan-card-head h3{margin:5px 0 5px;color:var(--petroleo);font-size:28px}.plan-card-head p{margin:0;color:var(--muted);min-height:36px;font-size:13px}.plan-price{margin:24px 0 5px}.plan-price strong{font-size:37px;letter-spacing:-.03em;color:var(--petroleo)}.plan-price span{color:var(--petroleo);font-size:13px}.plan-price small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.public-plan-card[data-billing="annual"] .monthly-price{display:none}.public-plan-card[data-billing="monthly"] .annual-price{display:none}.plan-description{color:var(--muted);font-size:12px;line-height:1.6}.plan-benefits{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:11px;flex:1}.plan-benefits li{display:flex;gap:9px;color:#36505a;font-size:13px;line-height:1.35}.plan-benefits li span{color:#17b437;font-weight:900}.plan-benefits li.exclusive{font-weight:750;color:var(--petroleo)}.plan-cta{width:100%;justify-content:center}.empty-public-plans{grid-column:1/-1;padding:30px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.about-v036 { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; border-top:1px solid var(--line); }.about-v036 h2{margin:8px 0 0;color:var(--petroleo);font-size:40px;line-height:1.1}.about-v036 p{color:var(--muted);font-size:15px;line-height:1.75}.about-v036 .public-quote{color:var(--petroleo);font-weight:750;border-left:3px solid var(--verde);padding-left:18px}
.home-final-cta { width:min(1180px,calc(100% - 40px)); margin:0 auto 80px; padding:42px; display:flex; justify-content:space-between; align-items:center; gap:30px; background:var(--petroleo); border-radius:22px; color:#fff; }.home-final-cta h2{max-width:650px;margin:7px 0 0;font-size:32px;line-height:1.1}.home-final-cta .button-public-secondary{background:transparent;border-color:rgba(255,255,255,.38);color:#fff}
.home-v036 .public-footer{align-items:center}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand div{display:flex;flex-direction:column}.footer-brand img{object-fit:contain}
.dynamic-plan-choice-grid { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }.plan-choice-card{position:relative}.plan-choice-ribbon{position:absolute;top:-12px;right:18px;background:#e9a817;color:#13252d;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:900}.app-plan-price{margin:12px 0;color:var(--petroleo);font-size:30px;font-weight:850}.app-plan-price small{font-size:12px;font-weight:500}

@media (max-width: 900px) {
  .mobile-menu-button{display:block}.home-v036 .public-menu{display:none;position:absolute;top:70px;left:14px;right:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(11,45,60,.16);flex-direction:column;align-items:stretch}.home-v036 .public-menu.is-open{display:flex}.home-v036 .public-menu a{padding:10px}.home-v036 .public-menu .nav-cta{text-align:center}
  .hero-v036{grid-template-columns:1fr;min-height:auto}.territory-hero{min-height:390px}.home-proof{grid-template-columns:1fr}.home-proof div{border-right:0;border-bottom:1px solid var(--line)}.home-proof div:last-child{border-bottom:0}.solution-grid{grid-template-columns:1fr}.about-v036{grid-template-columns:1fr;gap:25px}.home-final-cta{flex-direction:column;align-items:flex-start}
}
@media (max-width: 600px) {
  .home-v036 .public-nav{width:calc(100% - 24px)}.brand-with-logo img{width:36px;height:36px}.brand-with-logo .brand-copy strong{font-size:17px}.hero-v036{padding-top:42px;padding-bottom:48px}.hero-v036 .public-hero-copy h1{font-size:38px}.hero-v036 .public-hero-copy>p{font-size:15px}.public-hero-actions{flex-direction:column}.public-hero-actions .button{width:100%;justify-content:center}.hero-trust-row{display:grid}.territory-hero{min-height:320px}.map-chip{font-size:9px}.home-section{width:calc(100% - 28px);padding:68px 0}.public-plan-grid{grid-template-columns:1fr}.public-plan-card.featured{transform:none}.home-final-cta{width:calc(100% - 28px);padding:28px}.home-final-cta h2{font-size:27px}.home-v036 .public-footer{flex-direction:column;align-items:flex-start;gap:14px}
}

@media (max-width: 900px) {
    .home-v036 .public-menu a,
    .home-v036 .public-menu a:not(.public-login-link) { display: block !important; }
    .home-v036 .public-login-link { border-color: var(--line); }
}

/* HOME v5 - Hero visual premium CONFRONTA */
.home-v036 .public-hero.hero-v036{
background:linear-gradient(135deg,#061f2b 0%,#0B2D3C 55%,#17485a 100%);
border-radius:0;
position:relative;
overflow:hidden;
}
.home-v036 .public-hero.hero-v036:before{
content:"";
position:absolute;inset:0;
background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
background-size:45px 45px;
opacity:.35;
}
.home-v036 .public-hero-copy,.home-v036 .territory-hero{position:relative;z-index:1}
.home-v036 .public-hero-copy h1{font-size:clamp(38px,4.5vw,62px);color:#fff;letter-spacing:-1.5px}
.home-v036 .public-hero-copy>p{color:rgba(255,255,255,.88)}
.home-v036 .public-eyebrow{color:#A7D5B0}
.home-v036 .territory-hero{
background:rgba(255,255,255,.96);
border-radius:26px;
box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.home-v036 .territory-core{
background:#0B2D3C;
color:white;
box-shadow:0 20px 40px rgba(11,45,60,.3);
}
.home-v036 .map-chip{
background:#1F5A2E;
color:#fff;
}


/* Hero GIS visual v5 */
.territory-core{padding:22px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;min-width:250px}
.gis-header{font-size:11px;font-weight:900;letter-spacing:.08em;color:#4fa36a;margin-bottom:8px}
.gis-map{width:210px;height:130px;border-radius:14px;background:linear-gradient(135deg,#dcebdc,#b7d6bc);position:relative;overflow:hidden;border:1px solid rgba(11,45,60,.12)}
.gis-area{position:absolute;width:100px;height:70px;left:55px;top:30px;background:rgba(31,90,46,.28);border:2px solid #1f5a2e;clip-path:polygon(15% 5%,90% 15%,100% 75%,25% 100%,0 45%)}
.gis-layer{position:absolute;border-radius:50%}
.layer-green{width:35px;height:35px;right:20px;top:25px;background:#4fa36a55}
.layer-red{width:24px;height:24px;left:25px;bottom:20px;background:#d84b4b66}
.gis-status{margin-top:8px;background:#e9f5ed;color:#1f5a2e;padding:8px 14px;border-radius:999px;font-size:11px;font-weight:900}


/* HOME v7 - Hero full width premium territorial */
.home-v036 .public-hero.hero-v036{
    width:100%;
    max-width:none;
    margin:0;
    border-radius:0;
    min-height:680px;
    background:
      linear-gradient(135deg,rgba(5,31,43,.98),rgba(11,45,60,.98)),
      url('/static/aplicativo/img/territory-bg.svg');
    background-size:cover;
    position:relative;
    overflow:hidden;
}

.home-v036 .public-hero.hero-v036:after{
    content:"";
    position:absolute;
    inset:0;
    opacity:.18;
    background:
      linear-gradient(35deg, transparent 0 45%, rgba(79,163,106,.4) 46%, transparent 47%),
      linear-gradient(120deg, transparent 0 55%, rgba(255,255,255,.12) 56%, transparent 57%);
    clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
    pointer-events:none;
}

.home-v036 .territory-hero{
    background:rgba(7,29,39,.72);
    border:1px solid rgba(167,213,176,.55);
    box-shadow:0 35px 90px rgba(0,0,0,.45);
    backdrop-filter:blur(8px);
}

.home-v036 .territory-core{
    background:linear-gradient(145deg,#082633,#0B2D3C);
    border-radius:20px;
}

.home-v036 .gis-map{
    width:280px;
    height:170px;
    background:
      linear-gradient(135deg,rgba(80,130,80,.2),rgba(20,60,50,.4)),
      #345b45;
}

@media(max-width:900px){
 .home-v036 .public-hero.hero-v036{
   min-height:auto;
   padding-left:0;
   padding-right:0;
 }
 .home-v036 .territory-hero{
   margin-top:30px;
 }
}


/* HOME V8 - hero redesign */
.home-v036 .public-hero{
    width:100%;
    max-width:none;
    margin:0;
    min-height:720px;
    padding:90px max(calc((100vw - 1200px)/2),40px);
    background:#062b3a;
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:46% 54%;
    align-items:center;
}
.home-v036 .public-hero::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.16;
    background-image:
      linear-gradient(35deg,transparent 48%,rgba(255,255,255,.25) 49%,transparent 50%),
      linear-gradient(120deg,transparent 48%,rgba(79,163,106,.25) 49%,transparent 50%);
    background-size:320px 220px;
}
.home-v036 .public-hero-copy,
.home-v036 .territory-hero{
    position:relative;
    z-index:1;
}
.home-v036 .public-hero-copy h1{
    color:#fff;
    font-size:clamp(44px,4.6vw,72px);
    max-width:650px;
}
.home-v036 .public-hero-copy>p{
    color:rgba(255,255,255,.88);
}
.home-v036 .hero-trust-row{
    color:#b9d8c3;
}
.home-v036 .territory-hero{
    background:transparent;
    border:0;
    min-height:500px;
    box-shadow:none;
    display:flex;
    align-items:center;
}
.dashboard-home-preview{
    width:100%;
    max-width:760px;
    display:block;
    filter:drop-shadow(0 30px 45px rgba(0,0,0,.35));
    border-radius:20px;
}
@media(max-width:900px){
 .home-v036 .public-hero{
    grid-template-columns:1fr;
    padding:50px 24px;
 }
 .home-v036 .public-hero-copy h1{
    font-size:38px;
 }
 .dashboard-home-preview{
    margin-top:30px;
 }
}


/* HOME V9 - Integração visual premium */
.home-v036 .public-nav-wrap{
    background:#062b3a;
    border-bottom:1px solid rgba(167,213,176,.18);
}
.home-v036 .public-brand,
.home-v036 .public-menu{
    color:#fff;
}
.home-v036 .public-menu a{
    color:#fff;
}
.home-v036 .nav-cta,
.home-v036 .button-public-primary{
    background:#1f8f3a;
    border-color:#1f8f3a;
    color:#fff;
}

/* faixa de benefícios integrada */
.home-v036 .home-proof{
    background:#062b3a;
    border-color:rgba(167,213,176,.15);
    box-shadow:none;
    border-radius:0;
}
.home-v036 .home-proof div{
    border-color:rgba(255,255,255,.12);
}
.home-v036 .home-proof strong{
    color:#fff;
}
.home-v036 .home-proof span{
    color:rgba(255,255,255,.68);
}

/* soluções em continuidade visual */
.home-v036 .home-section{
    background:#062b3a;
    width:100%;
    max-width:none;
    padding-left:max(calc((100vw - 1180px)/2),40px);
    padding-right:max(calc((100vw - 1180px)/2),40px);
}
.home-v036 .section-heading h2{
    color:#fff;
}
.home-v036 .section-heading p{
    color:rgba(255,255,255,.72);
}
.home-v036 .solution-grid article{
    background:rgba(255,255,255,.04);
    border-color:rgba(167,213,176,.18);
}
.home-v036 .solution-grid h3{
    color:#fff;
}
.home-v036 .solution-grid p{
    color:rgba(255,255,255,.72);
}
.home-v036 .solution-icon{
    color:#4fa36a;
}

/* planos no mesmo ambiente */
.home-v036 #planos{
    background:#062b3a;
    width:100%;
    max-width:none;
    padding-left:max(calc((100vw - 1180px)/2),40px);
    padding-right:max(calc((100vw - 1180px)/2),40px);
}
.home-v036 #planos .section-heading h2{
    color:#fff;
}
.home-v036 .public-plan-card{
    background:rgba(255,255,255,.97);
}


/* ======================================================================
   HOME V10 — refinamento visual solicitado
   Escopo: somente Home pública. Não altera regras de negócio nem Módulos 1/2.
   ====================================================================== */
.home-v036 {
    --home-bg: #062b3a;
    --home-bg-deep: #041f2b;
    --home-bg-soft: #073445;
    --home-green: #4fa36a;
    --home-green-light: #a7d5b0;
    --home-line: rgba(167, 213, 176, .16);
    background: var(--home-bg);
}

/* Cabeçalho: logo branca, marca branca e subtítulo verde claro. */
.home-v036 .public-nav-wrap {
    background: rgba(6, 43, 58, .97);
    border-bottom: 1px solid var(--home-line);
    box-shadow: 0 8px 30px rgba(2, 20, 28, .12);
}
.home-v036 .public-nav {
    width: min(1220px, calc(100% - 48px));
    min-height: 80px;
}
.home-v036 .brand-with-logo {
    gap: 11px;
    color: #fff;
}
.home-v036 .brand-with-logo img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}
.home-v036 .brand-with-logo .brand-copy strong {
    color: #fff;
    font-size: 18px;
    line-height: 1;
    letter-spacing: .08em;
}
.home-v036 .brand-with-logo .brand-copy small {
    margin-top: 5px;
    color: var(--home-green-light);
    font-size: 10px;
    opacity: 1;
}
.home-v036 .public-menu {
    gap: 28px;
}
.home-v036 .public-menu a,
.home-v036 .public-menu .public-login-link {
    color: #fff;
}
.home-v036 .public-menu a:not(.nav-cta) {
    opacity: .92;
}
.home-v036 .public-menu a:not(.nav-cta):hover {
    color: var(--home-green-light);
    opacity: 1;
}
.home-v036 .public-login-link {
    border-color: rgba(255, 255, 255, .32);
}
.home-v036 .mobile-menu-button {
    color: #fff;
}

/* Hero: proporções equilibradas e nova imagem fornecida. */
.home-v036 .public-hero.hero-v036 {
    min-height: 630px;
    padding: 68px max(calc((100vw - 1220px) / 2), 40px) 64px;
    grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
    gap: 52px;
    background:
        radial-gradient(circle at 76% 25%, rgba(79, 163, 106, .10), transparent 28%),
        linear-gradient(135deg, #052633 0%, #062b3a 56%, #073445 100%);
}
.home-v036 .public-hero.hero-v036::before {
    opacity: .12;
    background-image:
        linear-gradient(rgba(167, 213, 176, .16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(167, 213, 176, .16) 1px, transparent 1px);
    background-size: 46px 46px;
}
.home-v036 .public-hero.hero-v036::after {
    opacity: .10;
}
.home-v036 .public-hero-copy {
    max-width: 610px;
}
.home-v036 .public-hero-copy h1 {
    max-width: 610px;
    margin: 14px 0 20px;
    color: #fff;
    font-size: clamp(44px, 4.25vw, 66px);
    line-height: 1.04;
    letter-spacing: -.045em;
}
.home-v036 .public-hero-copy > p {
    max-width: 600px;
    color: rgba(255,255,255,.86);
    font-size: 16px;
    line-height: 1.72;
}
.home-v036 .public-eyebrow {
    color: var(--home-green-light);
}
.home-v036 .public-hero-actions {
    margin-top: 26px;
}
.home-v036 .hero-trust-row {
    margin-top: 20px;
    color: #c1dfc9;
}
.home-v036 .territory-hero {
    min-height: 490px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.home-v036 .dashboard-home-preview {
    width: min(108%, 710px);
    max-width: none;
    height: auto;
    margin-left: auto;
    object-fit: contain;
    border-radius: 0;
    filter: drop-shadow(0 28px 40px rgba(0,0,0,.34));
}

/* Faixa de benefícios: quatro itens com ícones, como a referência visual. */
.home-v036 .home-proof {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 28px max(calc((100vw - 1220px) / 2), 40px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #052735;
    border: 0;
    border-top: 1px solid var(--home-line);
    border-bottom: 1px solid var(--home-line);
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}
.home-v036 .home-proof .proof-item {
    min-height: 132px;
    padding: 0 34px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.11);
}
.home-v036 .home-proof .proof-item:first-child {
    padding-left: 0;
}
.home-v036 .home-proof .proof-item:last-child {
    padding-right: 0;
    border-right: 0;
}
.home-v036 .proof-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #28bd4b;
}
.home-v036 .proof-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-v036 .home-proof .proof-item strong {
    display: block;
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
}
.home-v036 .home-proof .proof-item > span:last-child {
    display: block;
    max-width: 245px;
    margin-top: 7px;
    color: rgba(255,255,255,.68);
    font-size: 11.5px;
    line-height: 1.5;
}

/* Continuidade de fundo e proporções das demais seções. */
.home-v036 .home-section {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 82px max(calc((100vw - 1180px) / 2), 40px);
    background: var(--home-bg);
}
.home-v036 #solucoes {
    background: linear-gradient(180deg, #062b3a 0%, #073142 100%);
}
.home-v036 .section-heading {
    max-width: 700px;
    margin-bottom: 30px;
}
.home-v036 .section-heading h2 {
    color: #fff;
    font-size: clamp(32px, 3.6vw, 46px);
}
.home-v036 .section-heading p {
    max-width: 650px;
    color: rgba(255,255,255,.69);
}
.home-v036 .solution-grid {
    gap: 20px;
}
.home-v036 .solution-grid article {
    min-height: 225px;
    padding: 30px;
    background: rgba(255,255,255,.045);
    border: 1px solid var(--home-line);
    box-shadow: none;
}
.home-v036 #planos {
    background: #052735;
}
.home-v036 .billing-toggle {
    background: rgba(255,255,255,.08);
}
.home-v036 .billing-toggle button {
    color: rgba(255,255,255,.68);
}
.home-v036 .billing-toggle button.active {
    background: rgba(255,255,255,.96);
    color: var(--petroleo);
}
.home-v036 .about-v036 {
    background: #073142;
    border-top-color: var(--home-line);
}
.home-v036 .about-v036 h2,
.home-v036 .about-v036 .public-quote {
    color: #fff;
}
.home-v036 .about-v036 p {
    color: rgba(255,255,255,.70);
}
.home-v036 .about-v036 .public-quote {
    border-left-color: var(--home-green);
}
.home-v036 .home-final-cta {
    width: min(1180px, calc(100% - 80px));
    margin: 22px auto 76px;
    background: linear-gradient(135deg, #0a3748, #0b2d3c);
    border: 1px solid var(--home-line);
    box-shadow: 0 24px 60px rgba(2,20,28,.20);
}
.home-v036 .public-footer {
    background: var(--home-bg-deep);
    border-top: 1px solid var(--home-line);
}

@media (max-width: 1050px) {
    .home-v036 .public-hero.hero-v036 {
        grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
        gap: 30px;
    }
    .home-v036 .dashboard-home-preview {
        width: 106%;
    }
    .home-v036 .home-proof .proof-item {
        padding: 0 22px;
    }
}

@media (max-width: 900px) {
    .home-v036 .public-nav {
        width: calc(100% - 32px);
    }
    .home-v036 .public-menu {
        background: #073142;
        border-color: var(--home-line);
    }
    .home-v036 .public-menu a,
    .home-v036 .public-menu a:not(.public-login-link) {
        color: #fff;
    }
    .home-v036 .public-login-link {
        border-color: rgba(255,255,255,.25);
    }
    .home-v036 .public-hero.hero-v036 {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 54px 28px 44px;
    }
    .home-v036 .public-hero-copy {
        max-width: 680px;
    }
    .home-v036 .territory-hero {
        min-height: auto;
        margin-top: 8px;
        justify-content: center;
    }
    .home-v036 .dashboard-home-preview {
        width: min(100%, 720px);
        margin: 0 auto;
    }
    .home-v036 .home-proof {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 28px;
    }
    .home-v036 .home-proof .proof-item,
    .home-v036 .home-proof .proof-item:first-child,
    .home-v036 .home-proof .proof-item:last-child {
        padding: 24px;
        border-right: 1px solid rgba(255,255,255,.11);
        border-bottom: 1px solid rgba(255,255,255,.11);
    }
    .home-v036 .home-proof .proof-item:nth-child(2n) { border-right: 0; }
    .home-v036 .home-proof .proof-item:nth-last-child(-n+2) { border-bottom: 0; }
    .home-v036 .home-section {
        padding-left: 28px;
        padding-right: 28px;
    }
    .home-v036 .home-final-cta {
        width: calc(100% - 56px);
    }
}

@media (max-width: 600px) {
    .home-v036 .brand-with-logo img { width: 34px; height: 34px; }
    .home-v036 .brand-with-logo .brand-copy strong { font-size: 16px; }
    .home-v036 .brand-with-logo .brand-copy small { font-size: 9px; }
    .home-v036 .public-hero.hero-v036 { padding: 44px 18px 34px; }
    .home-v036 .public-hero-copy h1 { font-size: 39px; }
    .home-v036 .home-proof {
        grid-template-columns: 1fr;
        padding: 10px 20px;
    }
    .home-v036 .home-proof .proof-item,
    .home-v036 .home-proof .proof-item:first-child,
    .home-v036 .home-proof .proof-item:last-child,
    .home-v036 .home-proof .proof-item:nth-child(2n),
    .home-v036 .home-proof .proof-item:nth-last-child(-n+2) {
        min-height: 0;
        padding: 22px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.11);
    }
    .home-v036 .home-proof .proof-item:last-child { border-bottom: 0; }
    .home-v036 .home-section { padding: 64px 18px; }
    .home-v036 .solution-grid article { min-height: 0; }
    .home-v036 .home-final-cta { width: calc(100% - 36px); margin-bottom: 48px; }
}

/* ======================================================================
   CONFRONTA — HOME INTERNA / NAVEGAÇÃO v11
   Referência visual: interface hero aprovada pelo proprietário.
   Escopo: shell autenticado, tela inicial sem CAR, ajuda e conta.
   Não altera o motor territorial, PostGIS ou regras de acesso.
   ====================================================================== */
:root {
    --app-navy: #001426;
    --app-navy-deep: #000e21;
    --app-navy-soft: #06223a;
    --app-search: #102d4e;
    --app-search-border: #1a4168;
    --app-cyan: #0c6f8d;
    --app-green: #12d95b;
    --app-green-soft: #83e4a7;
    --app-white-muted: #b9cad8;
}

.client-shell {
    grid-template-columns: 64px minmax(0, 1fr);
    background: var(--app-navy);
}

.client-rail {
    width: 64px;
    background: linear-gradient(180deg, #031a2d 0%, #001426 100%);
    border-right: 1px solid rgba(139, 184, 209, .14);
    box-shadow: 8px 0 24px rgba(0, 7, 18, .18);
}

.client-rail-logo,
.client-rail-account { display: none; }

.client-rail-nav.client-rail-nav-single {
    height: 100%;
    padding: 18px 8px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.client-rail-link.client-rail-home {
    width: 46px;
    min-height: 46px;
    border-radius: 12px;
    color: #fff;
    background: rgba(11, 104, 137, .18);
    border: 1px solid rgba(104, 182, 215, .14);
}

.client-rail-link.client-rail-home:hover {
    color: #fff;
    background: rgba(11, 112, 151, .32);
    border-color: rgba(104, 206, 232, .28);
}

.client-rail-link.client-rail-home svg {
    width: 23px;
    height: 23px;
    stroke-width: 1.8;
}

.client-main {
    grid-column: 2;
    background: #f3f6f8;
}

.client-topbar {
    min-height: 68px;
    padding: 10px 22px;
    display: grid;
    grid-template-columns: minmax(170px, .75fr) minmax(300px, 1.3fr) minmax(170px, .75fr);
    align-items: center;
    gap: 24px;
    background: linear-gradient(180deg, #00162b 0%, #001426 100%);
    border-bottom: 1px solid rgba(143, 190, 215, .15);
    box-shadow: 0 8px 22px rgba(0, 10, 24, .12);
}

.client-topbar-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-self: start;
    color: #fff;
}

.client-topbar-brand img {
    width: 31px;
    height: 31px;
    object-fit: contain;
}

.client-topbar-brand strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    font-size: 16px;
    font-weight: 850;
    letter-spacing: .025em;
}

.client-global-search {
    width: min(100%, 560px);
    min-height: 42px;
    justify-self: center;
    padding: 0 8px 0 13px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--app-search-border);
    border-radius: 12px;
    background: linear-gradient(180deg, #122f50 0%, #0d2948 100%);
    color: #d7e3ed;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 7px 18px rgba(0, 5, 16, .18);
}

.client-global-search > svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: #9fb6ca;
    stroke-width: 1.8;
}

.client-global-search input[type="text"] {
    min-height: 38px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
    font-size: 13px;
}

.client-global-search input[type="text"]::placeholder { color: #9db2c4; opacity: 1; }
.client-global-search input[type="text"]:focus { border: 0; box-shadow: none; }

.client-global-search button {
    width: 30px;
    height: 30px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #9fb6ca;
    cursor: pointer;
}

.client-global-search button:hover { color: #fff; }
.client-global-search button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.client-global-search-disabled {
    grid-template-columns: 22px minmax(0, 1fr);
    opacity: .78;
}
.client-global-search-disabled span { font-size: 12px; color: #b8c7d4; }

.client-topbar-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 7px;
}

.client-topbar-icon,
.client-topbar-menu > summary {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 50%;
    color: #f5f9fc;
    cursor: pointer;
    list-style: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.client-topbar-icon:hover,
.client-topbar-menu > summary:hover,
.client-topbar-menu[open] > summary {
    background: rgba(17, 94, 129, .28);
    border-color: rgba(112, 183, 215, .22);
}

.client-topbar-menu > summary::-webkit-details-marker { display: none; }
.client-topbar-menu > summary::marker { display: none; content: ''; }
.client-topbar-menu { position: relative; }

.client-topbar-icon > span {
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
}

.client-topbar-icon svg,
.client-topbar-menu > summary svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.client-user-menu > summary {
    width: 41px;
    height: 41px;
    color: #fff;
    background: linear-gradient(180deg, #176483 0%, #0e4c68 100%);
    border-color: rgba(162, 218, 237, .24);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.035);
}

.client-topbar-popover {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 2000;
    width: 310px;
    overflow: hidden;
    border: 1px solid rgba(107, 153, 181, .22);
    border-radius: 14px;
    background: #071d31;
    color: #fff;
    box-shadow: 0 22px 55px rgba(0, 6, 18, .35);
}

.client-topbar-popover::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 14px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    background: #071d31;
    border-left: 1px solid rgba(107, 153, 181, .22);
    border-top: 1px solid rgba(107, 153, 181, .22);
}

.client-popover-head {
    padding: 14px 15px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid rgba(145, 181, 201, .12);
}
.client-popover-head strong { font-size: 12px; }
.client-popover-head span { color: #8ca5b8; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }

.client-alert-empty {
    min-height: 165px;
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.client-alert-empty svg { width: 29px; height: 29px; fill: none; stroke: #6f8ba1; stroke-width: 1.5; }
.client-alert-empty strong { margin-top: 11px; color: #dce8f0; font-size: 12px; }
.client-alert-empty span { margin-top: 6px; max-width: 245px; color: #8299ab; font-size: 10px; line-height: 1.45; }

.client-user-popover { width: 285px; }
.client-user-identity {
    padding: 16px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    border-bottom: 1px solid rgba(145, 181, 201, .12);
}
.client-user-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #0f5877;
    color: #fff;
}
.client-user-avatar svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.client-user-identity strong,
.client-user-identity span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-user-identity strong { color: #fff; font-size: 12px; }
.client-user-identity span { margin-top: 3px; color: #8fa5b6; font-size: 9.5px; }
.client-user-links { padding: 7px; display: grid; gap: 2px; }
.client-user-links a,
.client-user-logout-form button {
    width: 100%;
    min-height: 39px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #cbd9e4;
    cursor: pointer;
    text-align: left;
    font-size: 10.5px;
    font-weight: 700;
}
.client-user-links a:hover,
.client-user-logout-form button:hover { background: rgba(17, 88, 119, .22); color: #fff; }
.client-user-links svg,
.client-user-logout-form svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.client-user-logout-form { margin: 0; padding: 7px; border-top: 1px solid rgba(145, 181, 201, .12); }
.client-user-logout-form button { color: #dda7a7; }

.client-content { padding: 14px 16px 18px; }
.client-content-app { background: #04182a; }
.client-content-page { min-height: calc(100vh - 68px); padding: 28px; background: #f3f6f8; }

/* Tela inicial autenticada, antes da primeira consulta de CAR. */
.client-map-welcome {
    min-height: calc(100vh - 100px);
    display: grid;
    place-items: center;
    padding: 12px;
    border-radius: 12px;
    background:
        radial-gradient(circle at 18% 18%, rgba(8, 77, 103, .24), transparent 34%),
        linear-gradient(145deg, #00172a 0%, #001123 60%, #00182b 100%);
    overflow: hidden;
}

.client-map-welcome-visual {
    position: relative;
    width: min(1180px, 94%);
    height: min(690px, calc(100vh - 150px));
    min-height: 500px;
    overflow: hidden;
    border: 1px solid rgba(91, 161, 191, .24);
    border-radius: 24px;
    background: #031b2d;
    box-shadow: 0 30px 80px rgba(0, 4, 14, .45), inset 0 0 0 1px rgba(255,255,255,.025);
}

.client-map-welcome-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    filter: saturate(.92) brightness(.72) contrast(1.05);
}

.client-map-welcome-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 15, 32, .16) 0%, rgba(0, 15, 32, .05) 45%, rgba(0, 12, 26, .44) 100%),
        radial-gradient(circle at center, rgba(0, 23, 40, .02) 25%, rgba(0, 13, 28, .30) 100%);
    pointer-events: none;
}

.client-map-welcome-brand {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    justify-items: center;
    color: #fff;
    text-align: center;
    text-shadow: 0 4px 20px rgba(0, 0, 0, .48);
}
.client-map-welcome-brand img { width: 88px; height: 88px; object-fit: contain; filter: drop-shadow(0 7px 16px rgba(0,0,0,.30)); }
.client-map-welcome-brand strong { margin-top: 12px; font-size: clamp(34px, 4.4vw, 62px); font-weight: 900; letter-spacing: .065em; }
.client-map-welcome-brand span { margin-top: 5px; color: var(--app-green-soft); font-size: 11px; font-weight: 800; letter-spacing: .18em; }

.client-map-welcome-hint {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    max-width: calc(100% - 32px);
    min-height: 38px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(137, 190, 214, .20);
    border-radius: 999px;
    background: rgba(0, 18, 37, .78);
    color: #d8e4ed;
    backdrop-filter: blur(8px);
    box-shadow: 0 7px 24px rgba(0,0,0,.18);
    font-size: 10.5px;
    white-space: nowrap;
}
.client-map-welcome-hint svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: var(--app-green-soft); stroke-width: 1.8; }

/* Mantém a tela territorial funcionando dentro do novo shell. */
.client-content-app .territorial-screen {
    height: calc(100vh - 100px);
    border-color: rgba(86, 128, 150, .26);
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(0, 7, 18, .20);
}

.client-content-app .new-query-box,
.client-content-app .subscription-gate {
    border-color: rgba(94, 132, 151, .28);
}

/* Páginas de ajuda e conta */
.client-help-page,
.client-account-page { max-width: 1180px; margin: 0 auto; }
.client-page-hero { margin-bottom: 22px; }
.client-page-kicker { display: block; margin-bottom: 7px; color: #0c8d79; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.client-page-hero h1 { margin: 0; color: #08263a; font-size: clamp(27px, 3.3vw, 42px); letter-spacing: -.025em; }
.client-page-hero p { max-width: 750px; margin: 9px 0 0; color: #60727d; font-size: 13px; line-height: 1.6; }

.client-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.client-help-card {
    min-height: 205px;
    padding: 20px;
    border: 1px solid #dfe7eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(4, 33, 50, .045);
}
.client-help-number { color: #0f9a74; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.client-help-card h2 { margin: 10px 0 8px; color: #0a2b3f; font-size: 16px; }
.client-help-card p { margin: 0; color: #657680; font-size: 11px; line-height: 1.58; }
.client-help-notes,
.client-help-warning { margin-top: 16px; padding: 21px; border-radius: 14px; }
.client-help-notes { background: #07263a; color: #fff; }
.client-help-notes h2 { margin: 0 0 13px; font-size: 16px; }
.client-help-note-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.client-help-note-list div { padding-left: 12px; border-left: 2px solid #16b56b; }
.client-help-note-list strong, .client-help-note-list span { display: block; }
.client-help-note-list strong { font-size: 11px; }
.client-help-note-list span { margin-top: 4px; color: #aebfca; font-size: 10px; line-height: 1.48; }
.client-help-warning { border: 1px solid #d8e7df; background: #f4faf7; color: #476359; }
.client-help-warning strong { color: #1c684c; font-size: 11px; }
.client-help-warning p { margin: 5px 0 0; font-size: 10.5px; line-height: 1.55; }

.client-account-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 18px; align-items: start; }
.client-account-form,
.client-account-summary { border: 1px solid #dfe7eb; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(4, 33, 50, .045); }
.client-account-form { padding: 22px; }
.client-account-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.client-account-fields .form-field-full { grid-column: 1 / -1; }
.client-account-actions { margin-top: 18px; display: flex; gap: 9px; flex-wrap: wrap; }
.client-account-summary { padding: 21px; }
.client-account-summary > span { display: block; color: #788993; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.client-account-summary > strong { display: block; margin-top: 7px; color: #0a2b3f; font-size: 23px; }
.client-account-summary p { margin: 8px 0 0; color: #667984; font-size: 10.5px; line-height: 1.45; }
.client-account-summary a { margin-top: 17px; min-height: 37px; padding: 8px 11px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: #0a6f80; color: #fff; font-size: 10px; font-weight: 800; }

/* O botão flutuante permanece funcional, mas adota a paleta do novo shell. */
.whatsapp-fixed { background: #075b61; border: 1px solid rgba(130, 224, 190, .18); }

@media (max-width: 980px) {
    .client-topbar { grid-template-columns: auto minmax(240px, 1fr) auto; gap: 12px; padding-inline: 14px; }
    .client-topbar-brand strong { display: none; }
    .client-topbar-brand img { width: 29px; height: 29px; }
    .client-help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .client-help-note-list { grid-template-columns: 1fr; }
    .client-account-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .client-shell { grid-template-columns: 54px minmax(0, 1fr); }
    .client-rail { width: 54px; }
    .client-rail-nav.client-rail-nav-single { padding: 13px 5px; }
    .client-rail-link.client-rail-home { width: 42px; min-height: 42px; }
    .client-topbar { min-height: 62px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 8px 8px; gap: 7px; }
    .client-topbar-brand { display: none; }
    .client-global-search { min-height: 40px; padding-left: 10px; }
    .client-global-search input[type="text"] { font-size: 11px; }
    .client-topbar-actions { gap: 1px; }
    .client-topbar-icon,
    .client-topbar-menu > summary { width: 34px; height: 34px; }
    .client-topbar-icon svg,
    .client-topbar-menu > summary svg { width: 20px; height: 20px; }
    .client-user-menu > summary { width: 36px; height: 36px; }
    .client-topbar-popover { position: fixed; top: 66px; right: 8px; width: min(310px, calc(100vw - 70px)); }
    .client-content { padding: 8px; }
    .client-content-page { padding: 20px 12px; }
    .client-map-welcome { min-height: calc(100vh - 78px); padding: 5px; border-radius: 8px; }
    .client-map-welcome-visual { width: 100%; height: calc(100vh - 92px); min-height: 480px; border-radius: 15px; }
    .client-map-welcome-brand img { width: 65px; height: 65px; }
    .client-map-welcome-brand strong { font-size: 30px; }
    .client-map-welcome-brand span { font-size: 8px; }
    .client-map-welcome-hint { bottom: 13px; white-space: normal; text-align: left; }
    .client-help-grid { grid-template-columns: 1fr; }
    .client-help-card { min-height: auto; }
    .client-account-fields { grid-template-columns: 1fr; }
    .client-account-fields .form-field-full { grid-column: auto; }
    .client-content-app .territorial-screen { height: auto; }
}

/* =========================================================
   HOME v12 — busca explícita + ajuda simplificada
   Mantém a arquitetura e o fluxo GIS existentes.
   ========================================================= */
.client-global-search {
    width: min(100%, 650px);
    min-height: 42px;
    justify-self: center;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.client-global-search-field {
    min-width: 0;
    min-height: 42px;
    padding: 0 13px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 1px solid var(--app-search-border);
    border-radius: 11px;
    background: linear-gradient(180deg, #122f50 0%, #0d2948 100%);
    color: #d7e3ed;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 7px 18px rgba(0, 5, 16, .18);
}

.client-global-search-field > svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: #9fb6ca;
    stroke-width: 1.8;
}

.client-global-search-field input[type="text"] {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
    font-size: 13px;
}

.client-global-search-field input[type="text"]::placeholder {
    color: #9db2c4;
    opacity: 1;
}

.client-global-search-field input[type="text"]:focus {
    border: 0;
    outline: 0;
    box-shadow: none;
}

.client-global-search-submit {
    min-width: 82px;
    min-height: 42px;
    padding: 0 17px;
    border: 1px solid rgba(120, 230, 195, .28);
    border-radius: 10px;
    background: linear-gradient(180deg, #0b8f91 0%, #08777f 100%);
    color: #fff;
    box-shadow: 0 7px 18px rgba(0, 10, 22, .18);
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 850;
    letter-spacing: .01em;
    transition: transform .15s ease, filter .15s ease, border-color .15s ease;
}

.client-global-search-submit:hover {
    filter: brightness(1.08);
    border-color: rgba(126, 239, 201, .45);
}

.client-global-search-submit:active { transform: translateY(1px); }

.client-global-search-disabled {
    grid-template-columns: minmax(0, 1fr);
    opacity: .78;
}

.client-global-search-disabled .client-global-search-field {
    text-decoration: none;
}

.client-global-search-disabled .client-global-search-field span {
    color: #b8c7d4;
    font-size: 12px;
}

.client-help-grid-basic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 920px;
}

.client-help-page-basic .client-help-card {
    min-height: 165px;
}

.client-help-page-basic .client-help-card strong {
    color: #0a6f80;
}

.client-content-app > .message-stack {
    position: relative;
    z-index: 40;
    max-width: 760px;
    margin: 0 auto 10px;
}

@media (max-width: 980px) {
    .client-global-search { width: 100%; }
}

@media (max-width: 720px) {
    .client-global-search {
        grid-template-columns: minmax(0, 1fr) 68px;
        gap: 6px;
        min-height: 40px;
        padding: 0;
    }
    .client-global-search-field {
        min-height: 40px;
        padding-inline: 10px;
        grid-template-columns: 18px minmax(0, 1fr);
        gap: 6px;
    }
    .client-global-search-field > svg { width: 17px; height: 17px; }
    .client-global-search-field input[type="text"] { min-height: 38px; font-size: 10.5px; }
    .client-global-search-submit { min-width: 68px; min-height: 40px; padding: 0 9px; font-size: 10px; }
    .client-global-search-disabled { grid-template-columns: minmax(0, 1fr); }
    .client-help-grid-basic { grid-template-columns: 1fr; }
}

/* Especificidade necessária para neutralizar o antigo botão em forma de seta. */
.client-global-search .client-global-search-submit {
    width: auto;
    height: auto;
    min-width: 82px;
    min-height: 42px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(120, 230, 195, .28);
    border-radius: 10px;
    background: linear-gradient(180deg, #0b8f91 0%, #08777f 100%);
    color: #fff;
}

@media (max-width: 720px) {
    .client-global-search .client-global-search-submit {
        min-width: 68px;
        min-height: 40px;
        padding: 0 9px;
    }
}

/* ======================================================================
   CONFRONTA — ÁREA DO CAR / HOME v13
   Referência visual: navegação lateral e cartões sobre o mapa aprovados.
   Escopo exclusivamente visual/operacional da consulta já existente.
   ====================================================================== */

/* Barra lateral fixa da consulta: camadas, localizar, relatório, glebas,
   início e informações do imóvel. */
.client-rail-nav.client-rail-nav-single {
    min-height: 100%;
    padding: 14px 7px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
}

.client-rail-link.car-rail-tool,
.client-rail-link.car-rail-home {
    width: 44px;
    min-height: 44px;
    padding: 0;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #f5fbff;
    cursor: pointer;
    box-shadow: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.client-rail-link.car-rail-tool:hover,
.client-rail-link.car-rail-tool.is-active,
.client-rail-link.car-rail-home:hover {
    color: #fff;
    background: linear-gradient(180deg, rgba(16,83,123,.66) 0%, rgba(9,62,97,.72) 100%);
    border-color: rgba(72,167,205,.25);
}

.client-rail-link.car-rail-tool:active,
.client-rail-link.car-rail-home:active { transform: translateY(1px); }
.client-rail-link.car-rail-tool:disabled { opacity: .34; cursor: not-allowed; }
.client-rail-link.car-rail-tool:disabled:hover { background: transparent; border-color: transparent; }

.client-rail-link.car-rail-tool svg,
.client-rail-link.car-rail-home svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.client-rail-link.car-rail-home { margin-top: 3px; }
.client-rail-link.car-rail-settings { margin-top: auto; }

/* O mapa passa a ocupar toda a área útil. Painéis são gavetas flutuantes,
   evitando reduzir a área cartográfica quando não estão em uso. */
.client-content-app .territorial-screen {
    position: relative;
    display: block;
    overflow: hidden;
    background: #001426;
}

.client-content-app .territorial-map-column {
    width: 100%;
    height: 100%;
    min-height: 0;
    background: #10261f;
}

.client-content-app .territorial-map { min-height: 0; }
.client-content-app .property-layers-bar,
.client-content-app .map-orientation-tools { display: none !important; }

/* Gaveta de camadas no estilo da referência. */
.map-layer-drawer {
    position: absolute;
    z-index: 1050;
    top: 14px;
    left: 14px;
    width: min(330px, calc(100% - 90px));
    max-height: calc(100% - 28px);
    overflow: hidden;
    border: 1px solid rgba(73,148,183,.24);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(0,20,43,.98) 0%, rgba(0,13,31,.98) 100%);
    color: #fff;
    box-shadow: 0 18px 52px rgba(0,4,15,.42), inset 0 1px 0 rgba(255,255,255,.025);
    backdrop-filter: blur(8px);
}
.map-layer-drawer[hidden] { display: none !important; }

.map-layer-drawer-head {
    min-height: 60px;
    padding: 12px 13px 11px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(149,193,215,.11);
}
.map-layer-drawer-head > div { min-width: 0; }
.map-layer-drawer-head span { display: block; color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .02em; }
.map-layer-drawer-head small { display: block; margin-top: 3px; color: #718da3; font-size: 8.5px; }
.map-layer-drawer-head button {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(128,177,200,.16);
    border-radius: 8px;
    background: rgba(15,75,105,.18);
    color: #9eb4c5;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}
.map-layer-drawer-head button:hover { color: #fff; background: rgba(15,91,128,.34); }

.map-layer-drawer-list {
    max-height: min(590px, calc(100vh - 180px));
    overflow-y: auto;
    padding: 8px 8px 10px;
    scrollbar-width: thin;
    scrollbar-color: #1b4b67 transparent;
}

.map-layer-eye {
    width: 100%;
    min-height: 45px;
    padding: 7px 9px;
    display: grid;
    grid-template-columns: 18px minmax(0,1fr) 28px;
    align-items: center;
    gap: 9px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #dfe9f0;
    cursor: pointer;
    text-align: left;
    transition: background .15s ease, color .15s ease;
}
.map-layer-eye:hover { background: rgba(13,67,99,.31); color: #fff; }
.map-layer-eye .map-layer-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10.5px; font-weight: 760; }
.map-layer-eye svg {
    width: 20px;
    height: 20px;
    justify-self: center;
    fill: none;
    stroke: #647e91;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .15s ease, opacity .15s ease;
}
.map-layer-eye.is-active svg { stroke: #ffffff; }
.map-layer-eye:not(.is-active) { color: #7890a1; }
.map-layer-eye:not(.is-active) svg { opacity: .58; }

.map-layer-swatch {
    width: 14px;
    height: 14px;
    display: block;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(255,255,255,.10), 0 0 10px rgba(0,0,0,.12);
}
.layer-color-car { background: #00ec58; }
.layer-color-app { background: #0aa7ef; }
.layer-color-reserva_legal { background: #b8f700; }
.layer-color-vegetacao_nativa { background: #4fd477; }
.layer-color-area_consolidada { background: #d0a530; }
.layer-color-area_pousio { background: #9d7a2f; }
.layer-color-hidrografia { background: #1a82ca; }
.layer-color-servidao_administrativa { background: #8897a2; }
.layer-color-uso_restrito { background: #9b6940; }
.layer-color-ext-ibama { background: #ff2a31; }
.layer-color-ext-prodes { background: #f97316; }
.layer-color-ext-assentamentos { background: #ffae00; }
.layer-color-ext-apa { background: #c132e2; }
.layer-color-ext-outros-car { background: #08d5df; }

/* Gaveta lateral para relatório e glebas. Mantém o conteúdo e as rotinas
   existentes, apenas muda sua apresentação. */
.territorial-side-panel.territorial-tool-drawer {
    position: absolute;
    z-index: 1040;
    top: 12px;
    right: 12px;
    bottom: 12px;
    width: min(430px, calc(100% - 90px));
    height: auto;
    max-height: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(86,139,164,.28);
    border-radius: 14px;
    background: rgba(250,252,252,.985);
    box-shadow: 0 22px 60px rgba(0,7,20,.34);
}
.territorial-side-panel.territorial-tool-drawer[hidden] { display: none !important; }

.territorial-tool-drawer-head {
    min-height: 57px;
    padding: 10px 12px 10px 14px;
    align-items: center;
    background: linear-gradient(180deg, #041c31 0%, #021628 100%);
    border-bottom: 1px solid rgba(137,183,206,.16);
    color: #fff;
}
.territorial-tool-drawer-title { min-width: 0; }
.territorial-tool-drawer-title span { display: block; color: #68d99a; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.territorial-tool-drawer-title strong { display: block; max-width: 340px; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-size: 12px; }
.territorial-tool-close {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(131,179,202,.18);
    border-radius: 8px;
    background: rgba(15,74,104,.22);
    color: #b4c6d2;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}
.territorial-tool-close:hover { color: #fff; background: rgba(15,88,124,.38); }

/* Ao abrir Glebas, mostra diretamente a ferramenta de projeto, sem repetir
   o painel de informações/camadas que agora vive no mapa. */
.territorial-tool-drawer.is-glebas-mode .car-summary-card,
.territorial-tool-drawer.is-glebas-mode [data-side-tab="layers"],
.territorial-tool-drawer.is-glebas-mode [data-side-panel="layers"] { display: none !important; }
.territorial-tool-drawer.is-glebas-mode .territorial-tabs { grid-template-columns: 1fr; }
.territorial-tool-drawer.is-glebas-mode [data-side-tab="glebas"] { display: block; }

/* Faixa inferior de informações acionada pela engrenagem. */
.map-property-summary {
    position: absolute;
    z-index: 1010;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: min(920px, calc(100% - 70px));
    min-height: 76px;
    padding: 10px 16px;
    display: grid;
    grid-template-columns: .8fr 1.25fr 1fr 1.15fr;
    align-items: stretch;
    border: 1px solid rgba(67,127,158,.25);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(0,19,42,.97) 0%, rgba(0,12,29,.98) 100%);
    color: #fff;
    box-shadow: 0 17px 45px rgba(0,6,19,.36);
    backdrop-filter: blur(9px);
}
.map-property-summary[hidden] { display: none !important; }

.map-summary-item {
    min-width: 0;
    padding: 4px 16px;
    display: grid;
    grid-template-columns: 25px minmax(0,1fr);
    align-items: center;
    gap: 9px;
    border-right: 1px solid rgba(153,189,207,.14);
}
.map-summary-item:last-child { border-right: 0; }
.map-summary-item svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #d7e4ec;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.map-summary-item span,
.map-summary-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-summary-item span { color: #a6bac8; font-size: 8.5px; }
.map-summary-item strong { margin-top: 3px; color: #fff; font-size: 12px; font-weight: 850; }
.map-summary-status strong { color: #13dc62; }
.map-summary-restrictions strong.has-restrictions { color: #ffb000; }
.map-summary-restrictions strong.no-restrictions { color: #13dc62; }
.map-summary-restrictions svg { stroke: #e7eef3; }

/* Ajustes Leaflet no padrão visual da referência. */
.client-content-app .leaflet-top.leaflet-right { top: 10px; right: 10px; }
.client-content-app .leaflet-control-zoom {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,7,18,.28) !important;
}
.client-content-app .leaflet-control-zoom a {
    width: 38px !important;
    height: 38px !important;
    line-height: 36px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(140,180,201,.12) !important;
    background: #03172b !important;
    color: #fff !important;
    font-size: 23px !important;
}
.client-content-app .leaflet-control-zoom a:last-child { border-bottom: 0 !important; }
.client-content-app .leaflet-control-zoom a:hover { background: #0b3551 !important; }

/* O alerta de sobreposição permanece acima da faixa inferior. */
.client-content-app .map-overlap-alert { top: 14px; }
.client-content-app .map-live-area { bottom: 108px; }

@media (max-width: 900px) {
    .map-property-summary {
        width: min(620px, calc(100% - 30px));
        grid-template-columns: 1fr 1fr;
        bottom: 12px;
        padding: 8px;
    }
    .map-summary-item { padding: 7px 11px; }
    .map-summary-item:nth-child(2) { border-right: 0; }
    .map-summary-item:nth-child(-n+2) { border-bottom: 1px solid rgba(153,189,207,.12); }
    .client-content-app .map-live-area { bottom: 145px; }
}

@media (max-width: 720px) {
    .client-rail-nav.client-rail-nav-single { padding: 10px 5px; gap: 5px; }
    .client-rail-link.car-rail-tool,
    .client-rail-link.car-rail-home { width: 40px; min-height: 40px; border-radius: 9px; }
    .client-rail-link.car-rail-tool svg,
    .client-rail-link.car-rail-home svg { width: 21px; height: 21px; }

    .client-content-app .territorial-screen {
        height: calc(100vh - 78px);
        min-height: 540px;
        border-radius: 8px;
    }
    .client-content-app .territorial-map-column { height: 100%; min-height: 540px; }

    .map-layer-drawer { top: 8px; left: 8px; width: min(300px, calc(100% - 64px)); max-height: calc(100% - 16px); }
    .map-layer-drawer-list { max-height: calc(100vh - 175px); }
    .territorial-side-panel.territorial-tool-drawer { top: 8px; right: 8px; bottom: 8px; width: calc(100% - 16px); }

    .map-property-summary {
        width: calc(100% - 18px);
        grid-template-columns: 1fr 1fr;
        border-radius: 11px;
    }
    .map-summary-item { grid-template-columns: 20px minmax(0,1fr); gap: 6px; padding: 6px 8px; }
    .map-summary-item svg { width: 18px; height: 18px; }
    .map-summary-item strong { font-size: 10px; }
    .map-summary-item span { font-size: 7.5px; }
}

@media print {
    .map-layer-drawer, .map-property-summary { display: none !important; }
    .territorial-side-panel.territorial-tool-drawer {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        box-shadow: none !important;
        border: 0 !important;
    }
}


/* ======================================================================
   CONFRONTA — REFINOS DA ÁREA AUTENTICADA / HOME v14
   Ajustes visuais solicitados: rail abaixo do topo, Home como mapa Leaflet,
   resumo do CAR aberto por padrão, zoom à esquerda e rotação do mapa.
   ====================================================================== */

/* O topo passa visualmente por toda a largura. A barra lateral começa
   somente abaixo da linha inferior do cabeçalho. */
.client-rail {
    inset: 68px auto 0 0;
    height: auto;
    z-index: 1390;
}

.client-topbar {
    width: calc(100% + 64px);
    margin-left: -64px;
    padding-left: 84px;
}

/* A Casa é sempre o primeiro item da barra. */
.client-rail-link.car-rail-home {
    margin-top: 0;
}

/* Tela inicial autenticada: usa exatamente a mesma área Leaflet da consulta,
   sem dados territoriais, com mapa suavizado e marca central. */
.territorial-screen-empty {
    position: relative;
    display: block;
    overflow: hidden;
    background: #001426;
}

.territorial-screen-empty .territorial-map-column {
    width: 100%;
    height: 100%;
    min-height: 0;
    position: relative;
    overflow: hidden;
}

.territorial-screen-empty .territorial-map {
    width: 100%;
    height: 100%;
    min-height: 0;
}

.territorial-screen-empty .leaflet-tile-pane {
    opacity: .60;
    filter: saturate(.78) brightness(.68) contrast(1.02);
}

.empty-map-shade {
    position: absolute;
    inset: 0;
    z-index: 700;
    pointer-events: none;
    background:
        radial-gradient(circle at center, rgba(0,20,37,.08) 18%, rgba(0,13,28,.36) 100%),
        linear-gradient(180deg, rgba(0,18,34,.12) 0%, rgba(0,15,31,.30) 100%);
}

.empty-map-brand {
    position: absolute;
    z-index: 720;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 18px;
    pointer-events: none;
    color: #fff;
    text-shadow: 0 5px 24px rgba(0,0,0,.55);
}

.empty-map-brand img {
    width: clamp(58px, 6vw, 90px);
    height: clamp(58px, 6vw, 90px);
    object-fit: contain;
    filter: drop-shadow(0 7px 16px rgba(0,0,0,.35));
}

.empty-map-brand strong {
    font-size: clamp(30px, 4vw, 60px);
    font-weight: 900;
    letter-spacing: .055em;
}

.empty-map-car-message {
    position: absolute;
    z-index: 1100;
    left: 50%;
    top: 22px;
    transform: translate(-50%, -8px);
    min-width: 250px;
    max-width: calc(100% - 40px);
    padding: 11px 17px;
    border: 1px solid rgba(121,193,215,.26);
    border-radius: 11px;
    background: rgba(0,20,43,.94);
    color: #f4fbff;
    box-shadow: 0 13px 34px rgba(0,5,17,.36);
    text-align: center;
    font-size: 11px;
    font-weight: 750;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
}
.empty-map-car-message[hidden] { display: none !important; }
.empty-map-car-message.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* Zoom e rotação no canto superior esquerdo do mapa, conforme a referência. */
.client-content-app .leaflet-top.leaflet-left {
    top: 10px;
    left: 10px;
}
.client-content-app .leaflet-top.leaflet-right {
    top: 10px;
    right: 10px;
}

/* Quando a gaveta de camadas abre, ela começa depois dos controles do mapa. */
.map-layer-drawer {
    left: 62px;
    width: min(330px, calc(100% - 138px));
}

.confronta-rotation-control {
    margin-top: 8px !important;
    overflow: hidden;
    border: 1px solid rgba(110,165,193,.20) !important;
    border-radius: 9px !important;
    background: #03172b !important;
    box-shadow: 0 8px 18px rgba(0,7,20,.25) !important;
}

.confronta-rotation-button {
    width: 38px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(140,180,201,.12);
    background: #03172b;
    color: #fff;
    cursor: pointer;
    font: 700 18px/1 Arial, sans-serif;
}
.confronta-rotation-button:last-child { border-bottom: 0; }
.confronta-rotation-button:hover { background: #0b3551; }
.confronta-rotation-north { color: #82e2a5; font-size: 12px; font-weight: 900; }

/* A faixa inferior já nasce habilitada ao abrir um CAR; a engrenagem continua
   sendo o controle exclusivo para ocultar/mostrar depois disso. */
.map-property-summary:not([hidden]) { display: grid; }

@media (max-width: 720px) {
    .client-rail { top: 62px; }
    .client-topbar {
        width: calc(100% + 54px);
        margin-left: -54px;
        padding-left: 62px;
    }
    .map-layer-drawer { left: 54px; width: min(300px, calc(100% - 70px)); }
    .empty-map-brand { gap: 11px; }
    .empty-map-brand img { width: 52px; height: 52px; }
    .empty-map-brand strong { font-size: 27px; }
}

/* ============================================================
   v0.3.9 HOME v16 — cruzamentos territoriais e relatório
   ============================================================ */
.layer-color-ext-ibama { background: #ef4444; }
.layer-color-ext-prodes_desmatamento { background: #dc2626; }
.layer-color-ext-prodes_queimada { background: #f59e0b; }
.layer-color-ext-assentamentos { background: #f59e0b; }
.layer-color-ext-quilombolas { background: #a855f7; }
.layer-color-ext-apa { background: #22c55e; }
.layer-color-ext-outros_car { background: #06b6d4; }

.property-alert-item.state-atencao {
    border-left-color: #f59e0b;
    background: #fffaf0;
}

.map-summary-status.is-active strong { color: #13dc62; }
.map-summary-status.is-inactive strong { color: #ff5d67; }
.map-summary-status.is-unknown strong { color: #f5c451; }
.map-summary-restrictions small {
    display: block;
    max-width: 255px;
    margin-top: 3px;
    overflow: hidden;
    color: #d6e0e6;
    font-size: 7.4px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-restriction-summary {
    padding: 10px 12px;
    border: 1px solid #f0d39b;
    border-radius: 8px;
    background: #fffaf1;
}
.report-restriction-summary strong,
.report-restriction-summary span { display: block; }
.report-restriction-summary strong { color: #8b5600; }
.report-restriction-summary span { margin-top: 4px; color: #5d6970; font-size: 10px; line-height: 1.45; }
.report-analysis-list { display: grid; gap: 9px; }
.report-analysis-card {
    padding: 11px;
    border: 1px solid #e0e8e4;
    border-left: 4px solid #9aa8a2;
    border-radius: 8px;
    background: #fff;
}
.report-analysis-card.state-alerta { border-left-color: #d97706; }
.report-analysis-card.state-atencao { border-left-color: #f59e0b; background: #fffdf7; }
.report-analysis-card.state-ok { border-left-color: #4FA36A; }
.report-analysis-card.state-nao_verificado { border-left-color: #9aa6aa; }
.report-analysis-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.report-analysis-head strong { color: #102f3c; font-size: 11px; }
.report-analysis-head span { color: #66777d; font-size: 9px; font-weight: 800; }
.report-analysis-card > p { margin: 6px 0 0; color: #5b6d73; font-size: 9px; line-height: 1.45; }
.report-caution { padding: 7px 8px; border-radius: 6px; background: #fff6df; color: #72500b !important; }
.report-analysis-details { margin-top: 8px; }
.report-analysis-details summary { cursor: pointer; color: #0a5163; font-size: 9px; font-weight: 800; }
.report-record-grid { display: grid; gap: 8px; margin-top: 8px; }
.report-record-card {
    margin: 0;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 5px 10px;
    border: 1px solid #e7ece9;
    border-radius: 7px;
    background: #fafcfb;
}
.report-record-card div { min-width: 0; }
.report-record-card dt { color: #738186; font-size: 7.5px; }
.report-record-card dd { margin: 2px 0 0; overflow-wrap: anywhere; color: #263b43; font-size: 8.5px; font-weight: 650; }

@media (max-width: 620px) {
    .map-summary-restrictions small { max-width: 150px; }
    .report-record-card { grid-template-columns: 1fr; }
}


/* ======================================================================
   v0.3.9 — RELATÓRIO A4 / LEITURA REFORÇADA / MAXIMIZAÇÃO
   - O drawer de relatório é mais largo que o de glebas.
   - O conteúdo é apresentado como uma folha A4 centralizada.
   - A impressão usa mapa+glebas em A4 paisagem e texto em A4 retrato.
   ====================================================================== */
.territorial-tool-drawer.is-report-mode {
    width: min(760px, calc(100% - 90px));
    background: #e9eef1;
}

.territorial-tool-drawer.is-report-mode .territorial-side-body {
    padding: 18px 20px 34px;
    overflow-y: auto;
    background: #e9eef1;
}

.territorial-tool-drawer.is-report-mode .territorial-report-view {
    width: min(100%, 794px);
    margin: 0 auto;
    padding: 30px 34px 38px;
    border: 0;
    border-radius: 3px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(7, 34, 49, .13);
    color: #17313d;
}

.territorial-tool-drawer.is-report-maximized {
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
}

.territorial-tool-drawer.is-report-maximized .territorial-side-body {
    padding-top: 24px;
    padding-bottom: 48px;
}

.territorial-tool-drawer.is-report-maximized .territorial-report-view {
    width: min(100%, 860px);
    padding: 38px 46px 48px;
}

.report-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}
.report-maximize-button { white-space: nowrap; }
.report-maximize-icon {
    display: inline-block;
    margin-right: 4px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

/* Tipografia do relatório na tela: mais escura, maior e sem opacidade visual. */
.territorial-report-view .eyebrow { color: #328a5a; font-size: 9px; font-weight: 900; }
.territorial-report-view .report-head {
    align-items: center;
    padding-bottom: 14px;
    border-bottom-color: #d8e0e3;
}
.territorial-report-view .report-head h2 { color: #102f3c; font-size: 19px; line-height: 1.2; }
.territorial-report-view .report-section { padding: 16px 0; border-bottom-color: #dfe5e7; }
.territorial-report-view .report-section h3 { margin-bottom: 10px; color: #102f3c; font-size: 14px; }
.territorial-report-view .report-data div,
.territorial-report-view .report-list > div {
    padding: 7px 0;
    border-bottom-color: #e7ecee;
    color: #1d3945;
    font-size: 11px;
    line-height: 1.45;
}
.territorial-report-view .report-data dt,
.territorial-report-view .report-list span { color: #4c636d; font-weight: 600; }
.territorial-report-view .report-data dd,
.territorial-report-view .report-list strong { color: #102f3c; font-size: 11px; font-weight: 800; }
.territorial-report-view .report-map-note { color: #4f646d; font-size: 9.5px; line-height: 1.5; }
.territorial-report-view .muted { color: #536871; }
.territorial-report-view .report-analysis-head strong { color: #102f3c; font-size: 12px; }
.territorial-report-view .report-analysis-head span { color: #4f636c; font-size: 10px; }
.territorial-report-view .report-analysis-card > p { color: #425a64; font-size: 10px; line-height: 1.55; }
.territorial-report-view .report-record-card dt { color: #536972; font-size: 8.5px; }
.territorial-report-view .report-record-card dd { color: #1c3945; font-size: 9.5px; font-weight: 700; }

@media (max-width: 900px) {
    .territorial-tool-drawer.is-report-mode { width: calc(100% - 16px); }
    .territorial-tool-drawer.is-report-mode .territorial-side-body { padding: 10px; }
    .territorial-tool-drawer.is-report-mode .territorial-report-view,
    .territorial-tool-drawer.is-report-maximized .territorial-report-view { width: 100%; padding: 22px 20px 30px; }
    .report-head { gap: 12px; }
    .report-actions { justify-content: flex-start; }
}

/* Impressão profissional: primeiro mapa/glebas em A4 paisagem; depois texto A4 retrato. */
@page {
    size: A4 portrait;
    margin: 13mm 14mm 14mm;
}
@page report-map-page {
    size: A4 landscape;
    margin: 10mm;
}
@page report-body-page {
    size: A4 portrait;
    margin: 13mm 14mm 14mm;
}

@media print {
    html, body {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        color: #122f3b !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Remove a moldura da interface e qualquer efeito translúcido/sombra. */
    .territorial-side-panel.territorial-tool-drawer,
    .territorial-tool-drawer.is-report-mode,
    .territorial-tool-drawer.is-report-maximized,
    .territorial-tool-drawer.is-report-mode .territorial-side-body,
    .territorial-tool-drawer.is-report-mode .territorial-report-view,
    .territorial-tool-drawer.is-report-maximized .territorial-report-view {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .territorial-tool-drawer-head,
    .report-head,
    #print-current-report,
    #toggle-report-maximize { display: none !important; }

    .report-map-section {
        page: report-map-page;
        break-before: auto;
        break-after: page;
        page-break-before: auto;
        page-break-after: always;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
    }
    .report-map-section h3 {
        margin: 0 0 4mm !important;
        color: #102f3c !important;
        font-size: 15pt !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }
    .report-map-preview {
        width: 100% !important;
        height: 160mm !important;
        min-height: 160mm !important;
        max-height: 160mm !important;
        margin: 0 !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }
    .report-map-preview svg {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
    }
    .report-map-note {
        margin: 3mm 0 0 !important;
        color: #304b56 !important;
        font-size: 8.5pt !important;
        line-height: 1.35 !important;
    }
    .report-gleba-label { font-size: 16px !important; }

    .report-section:not(.report-map-section) {
        page: report-body-page;
        margin: 0 !important;
        padding: 5mm 0 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        background: #fff !important;
        break-inside: auto;
        page-break-inside: auto;
    }
    .report-section:not(.report-map-section) + .report-section:not(.report-map-section) {
        border-top: .25mm solid #d7dfe2 !important;
    }
    .report-section h3 {
        margin: 0 0 3mm !important;
        color: #102f3c !important;
        font-size: 12pt !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    /* Texto mais forte e maior; sem cinzas excessivamente claros. */
    .report-data div,
    .report-list > div {
        padding: 1.6mm 0 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        color: #183642 !important;
        font-size: 9.5pt !important;
        line-height: 1.35 !important;
    }
    .report-data dt,
    .report-list span {
        color: #324e59 !important;
        font-weight: 600 !important;
    }
    .report-data dd,
    .report-list strong {
        color: #0e2b37 !important;
        font-size: 9.5pt !important;
        font-weight: 800 !important;
    }
    .muted,
    .report-map-note { opacity: 1 !important; }

    .report-restriction-summary {
        padding: 3mm 3.5mm !important;
        border: .3mm solid #d79a2f !important;
        border-radius: 2mm !important;
        background: #fff !important;
    }
    .report-restriction-summary strong { color: #704700 !important; font-size: 10.5pt !important; }
    .report-restriction-summary span { color: #2f4852 !important; font-size: 9pt !important; }

    .report-analysis-list { gap: 3mm !important; }
    .report-analysis-card {
        padding: 3mm 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .report-analysis-card + .report-analysis-card { border-top: .25mm solid #d7dfe2 !important; }
    .report-analysis-head strong { color: #102f3c !important; font-size: 10pt !important; }
    .report-analysis-head span { color: #344f59 !important; font-size: 9pt !important; }
    .report-analysis-card > p {
        margin: 1.6mm 0 0 !important;
        color: #2c4650 !important;
        font-size: 9pt !important;
        line-height: 1.4 !important;
    }
    .report-caution {
        padding: 2.5mm !important;
        border: 0 !important;
        background: #fff !important;
        color: #624700 !important;
    }
    .report-analysis-details summary { color: #174e60 !important; font-size: 9pt !important; }
    .report-record-grid { gap: 2.5mm !important; }
    .report-record-card {
        padding: 2.5mm 0 !important;
        border: 0 !important;
        border-top: .2mm solid #e1e6e8 !important;
        border-radius: 0 !important;
        background: #fff !important;
    }
    .report-record-card dt { color: #405b65 !important; font-size: 8pt !important; }
    .report-record-card dd { color: #173540 !important; font-size: 8.5pt !important; font-weight: 700 !important; }

    /* Evita que um bloco curto seja cortado entre duas páginas. */
    .report-data div,
    .report-list > div,
    .report-restriction-summary { break-inside: avoid; page-break-inside: avoid; }
}

/* =========================================================
   AVISOS AOS CLIENTES v0.3.9
   Contador individual de não lidos + ajuda fechável.
   ========================================================= */
.client-alert-menu > summary {
    position: relative;
}

.client-alert-menu.has-unread > summary {
    color: #ffc45b;
    background: rgba(196, 120, 16, .12);
    border-color: rgba(255, 196, 91, .22);
}

.client-alert-menu.has-unread > summary:hover,
.client-alert-menu.has-unread[open] > summary {
    color: #ffd47e;
    background: rgba(196, 120, 16, .18);
    border-color: rgba(255, 196, 91, .34);
}

.client-alert-badge {
    position: absolute;
    top: -1px;
    right: -2px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #061d30;
    border-radius: 999px;
    background: #f2a51d;
    color: #071d31;
    font-size: 9px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .28);
}

.client-alert-popover {
    width: min(360px, calc(100vw - 30px));
}

.client-alert-list {
    max-height: min(430px, calc(100vh - 120px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.client-alert-read-form {
    margin: 0;
}

.client-alert-read-form + .client-alert-read-form {
    border-top: 1px solid rgba(145, 181, 201, .10);
}

.client-alert-item {
    width: 100%;
    padding: 14px 15px;
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 10px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .15s ease;
}

.client-alert-item:hover {
    background: rgba(34, 100, 127, .16);
}

.client-alert-state {
    width: 7px;
    height: 7px;
    margin-top: 5px;
    border-radius: 50%;
    background: #5b7487;
}

.client-alert-item.is-unread .client-alert-state {
    background: #f2a51d;
    box-shadow: 0 0 0 3px rgba(242, 165, 29, .12);
}

.client-alert-copy {
    min-width: 0;
    display: block;
}

.client-alert-copy strong {
    display: block;
    color: #dbe9f2;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.5;
    white-space: normal;
}

.client-alert-item.is-unread .client-alert-copy strong {
    color: #fff;
    font-weight: 800;
}

.client-alert-copy time {
    display: block;
    margin-top: 6px;
    color: #7891a4;
    font-size: 9px;
}

.client-alert-item.is-read {
    opacity: .70;
}

.client-help-page-basic {
    position: relative;
}

.client-help-close {
    position: absolute;
    top: -3px;
    right: 0;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #cddae0;
    border-radius: 10px;
    background: #fff;
    color: #24465a;
    box-shadow: 0 6px 18px rgba(6, 37, 54, .06);
    cursor: pointer;
    font-size: 26px;
    font-weight: 350;
    line-height: 1;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.client-help-close:hover {
    border-color: #98afb9;
    background: #f5f8fa;
    color: #08263a;
}

@media (max-width: 720px) {
    .client-help-close {
        top: -8px;
        width: 34px;
        height: 34px;
        font-size: 23px;
    }
    .client-page-hero { padding-right: 44px; }
}

/* ==========================================================
   v0.3.10 — HARDENING DE AUTENTICAÇÃO E CADASTRO
   ========================================================== */
.security-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.selected-plan-security,
.security-flow-card {
    border: 1px solid var(--line, rgba(255,255,255,.12));
    border-radius: 14px;
    padding: 16px;
    margin: 14px 0;
}
.selected-plan-security { display: grid; gap: 3px; }
.selected-plan-security > span,
.selected-plan-security > small { color: var(--muted, #8491a3); }
.security-flow-card { display: grid; gap: 12px; }
.security-flow-card > div { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: start; }
.registration-plan-links { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 14px; }
.registration-plan-links > strong { width: 100%; }


/* ======================================================================
   CONFRONTA — MAPA v4 / interface territorial premium
   Moderniza a navegação e a ficha rápida sem alterar o motor GIS.
   ====================================================================== */

/* Rail: marca no topo, ferramentas no meio e conta no rodapé. */
.client-rail {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: visible;
}
.client-rail-brand {
    width: 42px;
    height: 42px;
    margin: 12px auto 7px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(101, 190, 211, .17);
    border-radius: 13px;
    background: rgba(11, 83, 105, .20);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.client-rail-brand img { width: 29px; height: 29px; object-fit: contain; }
.client-rail-nav.client-rail-nav-single {
    height: auto;
    min-height: 0;
    flex: 1 1 auto;
    justify-content: flex-start;
    padding: 9px 7px 12px;
    gap: 6px;
}
.client-rail-link.car-rail-settings { margin-top: 0; }
.client-rail-link.car-rail-tool,
.client-rail-link.car-rail-home {
    position: relative;
    width: 44px;
    min-height: 44px;
    border-radius: 12px;
    color: #a9c0cf;
}
.client-rail-link.car-rail-tool::before,
.client-rail-link.car-rail-home::before {
    content: '';
    position: absolute;
    left: -7px;
    top: 10px;
    bottom: 10px;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: transparent;
}
.client-rail-link.car-rail-tool:hover,
.client-rail-link.car-rail-tool.is-active,
.client-rail-link.car-rail-home:hover {
    color: #fff;
    background: rgba(11, 72, 101, .58);
    border-color: rgba(81, 172, 201, .22);
}
.client-rail-link.car-rail-tool.is-active::before { background: #21c979; }
.client-rail-link.car-rail-tool svg,
.client-rail-link.car-rail-home svg { width: 22px; height: 22px; stroke-width: 1.65; }

/* Tooltips claros para a barra compacta. */
.client-rail-link[data-rail-label]::after {
    content: attr(data-rail-label);
    position: absolute;
    z-index: 2300;
    left: calc(100% + 11px);
    top: 50%;
    transform: translateY(-50%) translateX(-3px);
    padding: 7px 9px;
    border: 1px solid rgba(94, 153, 181, .22);
    border-radius: 8px;
    background: #071d31;
    color: #eef6fa;
    box-shadow: 0 10px 28px rgba(0, 7, 20, .25);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .01em;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease, transform .12s ease;
}
@media (hover: hover) and (pointer: fine) {
    .client-rail-link[data-rail-label]:hover::after,
    .client-rail-link[data-rail-label]:focus-visible::after { opacity: 1; transform: translateY(-50%) translateX(0); }
}

.client-rail-footer {
    position: relative;
    flex: 0 0 auto;
    padding: 9px 8px 14px;
    border-top: 1px solid rgba(130, 177, 200, .10);
}
.client-rail-user-menu { position: relative; }
.client-rail-user-menu > summary {
    position: relative;
    width: 46px;
    height: 46px;
    margin: 0 auto;
    display: grid;
    place-items: center;
    list-style: none;
    cursor: pointer;
    border: 1px solid rgba(88, 180, 201, .22);
    border-radius: 14px;
    background: linear-gradient(180deg, #0c526c 0%, #073b56 100%);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 8px 22px rgba(0,5,18,.18);
}
.client-rail-user-menu > summary::-webkit-details-marker { display: none; }
.client-rail-user-menu > summary::marker { display: none; content: ''; }
.client-rail-user-menu[open] > summary { border-color: rgba(72, 208, 143, .42); background: #0c5c73; }
.client-rail-user-avatar { display: grid; place-items: center; }
.client-rail-user-avatar svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.client-rail-user-status {
    position: absolute;
    right: 4px;
    bottom: 4px;
    width: 9px;
    height: 9px;
    border: 2px solid #062238;
    border-radius: 50%;
    background: #22ce7c;
}
.client-rail-user-popover {
    position: absolute;
    z-index: 2400;
    left: calc(100% + 12px);
    bottom: -2px;
    width: 286px;
    overflow: hidden;
    border: 1px solid rgba(95, 153, 180, .22);
    border-radius: 14px;
    background: #071d31;
    color: #fff;
    box-shadow: 0 22px 55px rgba(0, 6, 18, .38);
}
.client-user-identity-rail small {
    display: block;
    margin-top: 5px;
    color: #5fe19a;
    font-size: 9px;
    font-weight: 700;
}

/* Topbar mais limpa: a identidade do usuário agora mora no rail. */
.client-topbar { grid-template-columns: minmax(150px,.65fr) minmax(320px,1.5fr) minmax(70px,.65fr); }
.client-topbar-actions { min-width: 44px; }

/* Faixa de informações: cabeçalho compacto + conteúdo recolhível. */
.map-property-summary {
    width: min(1120px, calc(100% - 54px));
    min-height: 0;
    padding: 0;
    display: block;
    overflow: hidden;
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(0,21,45,.98) 0%, rgba(0,13,31,.985) 100%);
    backdrop-filter: none;
    transition: width .18s ease, border-radius .18s ease;
}
.map-summary-head {
    min-height: 48px;
    padding: 7px 9px 7px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid rgba(153,189,207,.12);
}
.map-summary-identity { min-width: 0; }
.map-summary-kicker {
    display: block;
    color: #5bd995;
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .12em;
}
.map-summary-identity strong {
    display: block;
    max-width: 630px;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #eef6fa;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .01em;
}
.map-summary-collapse {
    min-height: 32px;
    padding: 5px 9px 5px 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    border: 1px solid rgba(115, 172, 198, .17);
    border-radius: 9px;
    background: rgba(15, 76, 106, .22);
    color: #b9ccd7;
    cursor: pointer;
    font-size: 9px;
    font-weight: 700;
}
.map-summary-collapse:hover { background: rgba(15, 91, 128, .36); color: #fff; }
.map-summary-collapse svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.map-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    align-items: stretch;
    padding: 9px 8px 10px;
}
.map-summary-grid .map-summary-item {
    min-height: 49px;
    padding: 4px 11px;
    grid-template-columns: 22px minmax(0,1fr);
    gap: 8px;
}
.map-summary-grid .map-summary-item svg { width: 19px; height: 19px; stroke: #c7d7e1; }
.map-summary-grid .map-summary-item span { color: #91a8b7; font-size: 7.5px; }
.map-summary-grid .map-summary-item strong { margin-top: 2px; font-size: 10.5px; font-weight: 700; }
.map-summary-grid .map-summary-item small {
    display: block;
    max-width: 150px;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #8ca0ae;
    font-size: 7px;
}
.map-summary-alerts strong.has-restrictions { color: #ffb000; }
.map-summary-alerts strong.no-restrictions { color: #20d77c; }
.map-summary-glebas strong { color: #7ce7aa; }
.map-property-summary.is-collapsed { width: min(560px, calc(100% - 54px)); border-radius: 999px; }
.map-property-summary.is-collapsed .map-summary-head { min-height: 47px; border-bottom: 0; padding-left: 17px; }
.map-property-summary.is-collapsed .map-summary-grid { display: none; }
.map-property-summary.is-collapsed .map-summary-kicker { display: none; }
.map-property-summary.is-collapsed .map-summary-collapse svg { transform: rotate(180deg); }

/* O HUD acompanha a altura variável da ficha. */
.client-content-app .map-live-area { bottom: 146px; }
.map-property-summary.is-collapsed ~ .map-live-area { bottom: 82px; }

/* Popup próprio da gleba: ficha compacta + ação KML. */
.client-content-app .leaflet-popup-content-wrapper {
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(0,7,20,.30);
}
.client-content-app .leaflet-popup-content { margin: 0; min-width: 250px; }
.client-content-app .leaflet-popup-tip { background: #fff; }
.cf-gleba-popup { overflow: hidden; min-width: 250px; color: #123344; font-family: inherit; }
.cf-gleba-popup-head {
    padding: 13px 14px 11px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid #e3ebee;
}
.cf-gleba-popup-dot { width: 11px; height: 11px; flex: 0 0 auto; border: 2px solid rgba(5,34,50,.12); border-radius: 50%; }
.cf-gleba-popup-title { min-width: 0; flex: 1; }
.cf-gleba-popup-title strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0b2d3c; font-size: 12px; }
.cf-gleba-popup-title span { display: block; margin-top: 2px; color: #748893; font-size: 8.5px; }
.cf-gleba-popup-body { padding: 10px 14px 12px; }
.cf-gleba-popup-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.cf-gleba-popup-metric { padding: 8px 9px; border: 1px solid #e4ecef; border-radius: 9px; background: #f7faf9; }
.cf-gleba-popup-metric span, .cf-gleba-popup-metric strong { display: block; }
.cf-gleba-popup-metric span { color: #7d9098; font-size: 7.5px; text-transform: uppercase; letter-spacing: .06em; }
.cf-gleba-popup-metric strong { margin-top: 3px; color: #173c4b; font-size: 10px; }
.cf-gleba-popup-alert { margin-top: 8px; padding: 8px 9px; border-radius: 8px; background: #fff7e9; color: #8a5809; font-size: 8.5px; line-height: 1.4; }
.cf-gleba-popup-alert.is-clear { background: #edf9f2; color: #257148; }
.cf-gleba-popup-kml {
    width: 100%;
    min-height: 38px;
    margin-top: 10px;
    padding: 8px 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 9px;
    background: #0a6b62;
    color: #fff;
    cursor: pointer;
    font-size: 9.5px;
    font-weight: 800;
}
.cf-gleba-popup-kml:hover { background: #07594f; }
.cf-gleba-popup-kml svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 1180px) {
    .map-summary-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .map-summary-grid .map-summary-item:nth-child(4n) { border-right: 0; }
    .map-summary-grid .map-summary-item:nth-child(-n+4) { border-bottom: 1px solid rgba(153,189,207,.10); }
}
@media (max-width: 900px) {
    .map-property-summary { width: min(760px, calc(100% - 24px)); bottom: 10px; }
    .map-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .map-summary-grid .map-summary-item { border-right: 1px solid rgba(153,189,207,.12); border-bottom: 1px solid rgba(153,189,207,.10); }
    .map-summary-grid .map-summary-item:nth-child(2n) { border-right: 0; }
    .map-summary-grid .map-summary-item:nth-last-child(-n+2) { border-bottom: 0; }
    .map-property-summary.is-collapsed { width: min(520px, calc(100% - 24px)); }
    .client-content-app .map-live-area { bottom: 244px; }
}
@media (max-width: 720px) {
    .client-rail-brand { width: 38px; height: 38px; margin-top: 9px; border-radius: 11px; }
    .client-rail-brand img { width: 26px; height: 26px; }
    .client-rail-footer { padding: 8px 5px 10px; }
    .client-rail-user-menu > summary { width: 40px; height: 40px; border-radius: 12px; }
    .client-rail-user-popover { position: fixed; left: 59px; bottom: 8px; width: min(286px, calc(100vw - 70px)); }
    .map-summary-head { padding-left: 11px; }
    .map-summary-identity strong { max-width: 210px; font-size: 8.5px; }
    .map-summary-collapse span { display: none; }
    .map-summary-collapse { width: 34px; padding: 0; }
    .map-summary-grid .map-summary-item { padding: 5px 8px; }
    .map-summary-grid .map-summary-item strong { font-size: 9px; }
    .map-property-summary.is-collapsed { width: calc(100% - 18px); }
}
@media print {
    .client-rail-brand, .client-rail-footer { display: none !important; }
}

/* ======================================================================
   CONFRONTA — MAPA v5 / leitura nítida + faixa horizontal + popups únicos
   - Tipografia da área autenticada usa pesos reais 400/500/600.
   - Remove blur de superfícies com texto para melhorar a leitura no Chrome/Windows.
   - Ficha rápida passa a ser horizontal em desktop.
   - Camadas territoriais recebem a mesma linguagem visual das glebas desenhadas.
   ====================================================================== */

/* Tipografia: aproxima a área do mapa da linguagem limpa da Home Premium. */
.client-shell,
.client-shell button,
.client-shell input,
.client-shell select,
.client-shell textarea,
.client-shell .leaflet-container {
    font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.client-shell strong,
.client-shell b { font-weight: 600; }
.client-shell button,
.client-shell a { font-weight: 500; }
.client-shell .eyebrow,
.client-shell .map-summary-kicker,
.client-shell .territorial-tool-drawer-title span { font-weight: 600; }

/* Rail mais leve e preciso. */
.client-rail {
    background: #031d31;
    border-right-color: rgba(121, 167, 190, .14);
}
.client-rail-brand {
    border-color: rgba(132, 184, 204, .16);
    background: #082d43;
    box-shadow: none;
}
.client-rail-link.car-rail-tool,
.client-rail-link.car-rail-home {
    color: #abc0cc;
    border-radius: 11px;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease;
}
.client-rail-link.car-rail-tool:hover,
.client-rail-link.car-rail-tool.is-active,
.client-rail-link.car-rail-home:hover {
    color: #f7fbfd;
    background: #0a405b;
    border-color: rgba(113, 185, 209, .19);
}
.client-rail-link.car-rail-tool svg,
.client-rail-link.car-rail-home svg {
    width: 21px;
    height: 21px;
    stroke-width: 1.45;
}
.client-rail-link[data-rail-label]::after {
    background: #062238;
    border-color: rgba(121, 174, 198, .18);
    box-shadow: 0 12px 28px rgba(0, 8, 19, .22);
    font-size: 10px;
    font-weight: 500;
}
.client-rail-user-menu > summary {
    background: #0a405b;
    border-color: rgba(113, 185, 209, .20);
    box-shadow: none;
}
.client-rail-user-popover {
    background: #062238;
    border-color: rgba(117, 171, 195, .18);
    box-shadow: 0 18px 44px rgba(0, 7, 18, .28);
}
.client-user-identity-rail small { font-weight: 500; }

/* Topbar: sem pesos exagerados e sem efeito de texto espesso. */
.client-topbar-brand strong,
.cf-client-brand strong { font-weight: 600; letter-spacing: .055em; }
.client-global-search-field,
.client-global-search-field input { font-weight: 400; }
.client-global-search-submit,
.cf-search-submit { font-weight: 600; }

/* Drawer e painéis: superfícies sólidas, sem blur de composição. */
.map-layer-drawer {
    background: #041c31;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-color: rgba(103, 162, 189, .18);
    box-shadow: 0 18px 42px rgba(0, 8, 20, .30);
}
.map-layer-drawer-head span { font-weight: 600; font-size: 12px; }
.map-layer-drawer-head small { color: #8ca4b2; font-size: 9px; }
.map-layer-eye { min-height: 43px; }
.map-layer-eye .map-layer-name { font-size: 10.5px; font-weight: 500; }
.map-layer-eye svg { stroke-width: 1.45; }
.territorial-tool-drawer-head {
    background: #041c31;
}
.territorial-tool-drawer-title span { font-weight: 600; }
.territorial-tool-drawer-title strong { font-weight: 500; }

/* Ficha rápida: uma barra horizontal em desktop, ocupando pouca altura. */
.map-property-summary {
    width: min(1480px, calc(100% - 52px));
    min-height: 68px;
    display: flex;
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(86, 145, 174, .22);
    border-radius: 13px;
    background: #031a2e;
    box-shadow: 0 14px 34px rgba(0, 7, 18, .27);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.map-property-summary:not([hidden]) { display: flex; }
.map-summary-head {
    width: min(320px, 25%);
    min-width: 235px;
    min-height: 68px;
    padding: 10px 11px 10px 15px;
    flex: 0 0 auto;
    border-right: 1px solid rgba(153, 189, 207, .12);
    border-bottom: 0;
}
.map-summary-kicker {
    color: #62d99a;
    font-size: 7.5px;
    font-weight: 600;
    letter-spacing: .09em;
}
.map-summary-identity strong {
    max-width: 225px;
    margin-top: 3px;
    color: #edf5f8;
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: 0;
}
.map-summary-collapse {
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 8px;
    background: #082c44;
    border-color: rgba(118, 168, 193, .16);
    color: #b7c9d3;
    font-size: 8.5px;
    font-weight: 500;
}
.map-summary-collapse:hover { background: #0b3c58; }
.map-summary-collapse svg { width: 14px; height: 14px; stroke-width: 1.6; }
.map-summary-grid {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(7, minmax(104px, 1fr));
    align-items: stretch;
    padding: 0;
}
.map-summary-grid .map-summary-item {
    min-height: 68px;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    border-right: 1px solid rgba(153, 189, 207, .10);
    border-bottom: 0;
}
.map-summary-grid .map-summary-item:last-child { border-right: 0; }
.map-summary-grid .map-summary-item svg {
    width: 17px;
    height: 17px;
    stroke: #b9ccd7;
    stroke-width: 1.35;
}
.map-summary-grid .map-summary-item span {
    color: #90a6b3;
    font-size: 7.5px;
    font-weight: 400;
    line-height: 1.15;
}
.map-summary-grid .map-summary-item strong {
    margin-top: 3px;
    color: #f1f6f8;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.15;
}
.map-summary-grid .map-summary-item small {
    max-width: 135px;
    margin-top: 2px;
    color: #90a4b0;
    font-size: 7px;
    font-weight: 400;
}
.map-summary-status.is-active strong { color: #40d98b; }
.map-summary-status.is-inactive strong { color: #ff747c; }
.map-summary-status.is-unknown strong { color: #e7c260; }
.map-summary-alerts strong.has-restrictions { color: #ffbd3f; }
.map-summary-alerts strong.no-restrictions { color: #40d98b; }
.map-summary-glebas strong { color: #72dda0; }

/* Recolhida: permanece uma pequena barra útil e discreta. */
.map-property-summary.is-collapsed {
    width: min(540px, calc(100% - 52px));
    min-height: 48px;
    border-radius: 12px;
}
.map-property-summary.is-collapsed .map-summary-head {
    width: 100%;
    min-height: 48px;
    border-right: 0;
    padding: 7px 9px 7px 13px;
}
.map-property-summary.is-collapsed .map-summary-grid { display: none; }
.map-property-summary.is-collapsed .map-summary-kicker { display: block; }
.map-property-summary.is-collapsed .map-summary-identity strong { max-width: 360px; }

/* HUD acompanha a nova barra, que agora é bem mais baixa. */
.client-content-app .map-live-area { bottom: 94px; }
.map-property-summary.is-collapsed ~ .map-live-area { bottom: 74px; }

/* Popups: camada territorial e gleba usam o mesmo componente visual. */
.client-content-app .leaflet-popup-content-wrapper {
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(0, 10, 20, .25);
}
.client-content-app .leaflet-popup-content { margin: 0; min-width: 270px; }
.client-content-app .leaflet-popup-tip { background: #ffffff; }
.client-content-app .leaflet-popup-close-button {
    top: 8px !important;
    right: 8px !important;
    width: 27px !important;
    height: 27px !important;
    color: #71848e !important;
    font: 400 18px/25px "Segoe UI", Arial, sans-serif !important;
}
.client-content-app .leaflet-popup-close-button:hover { color: #183e4d !important; }

.cf-feature-popup,
.cf-gleba-popup {
    overflow: hidden;
    min-width: 270px;
    color: #173946;
    font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif;
    font-synthesis: none;
}
.cf-feature-popup-head,
.cf-gleba-popup-head {
    min-height: 58px;
    padding: 12px 42px 11px 14px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid #e5ecef;
}
.cf-feature-popup-dot,
.cf-gleba-popup-dot {
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    border: 1px solid rgba(5, 34, 50, .16);
    border-radius: 50%;
}
.cf-feature-popup-title,
.cf-gleba-popup-title { min-width: 0; flex: 1; }
.cf-feature-popup-title strong,
.cf-gleba-popup-title strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #113746;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
}
.cf-feature-popup-title span,
.cf-gleba-popup-title span {
    display: block;
    margin-top: 3px;
    color: #81939b;
    font-size: 8.5px;
    font-weight: 400;
}
.cf-feature-popup-body,
.cf-gleba-popup-body { padding: 10px 13px 12px; }
.cf-feature-popup-metrics,
.cf-gleba-popup-metrics {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 7px;
}
.cf-feature-popup-metric,
.cf-gleba-popup-metric {
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid #e3ebee;
    border-radius: 9px;
    background: #f7faf9;
}
.cf-feature-popup-metric span,
.cf-feature-popup-metric strong,
.cf-gleba-popup-metric span,
.cf-gleba-popup-metric strong { display: block; }
.cf-feature-popup-metric span,
.cf-gleba-popup-metric span {
    color: #82949c;
    font-size: 7.5px;
    font-weight: 400;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.cf-feature-popup-metric strong,
.cf-gleba-popup-metric strong {
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #173e4d;
    font-size: 9.5px;
    font-weight: 600;
    white-space: nowrap;
}
.cf-feature-popup-details {
    margin-top: 8px;
    padding: 5px 9px;
    border: 1px solid #e7edef;
    border-radius: 9px;
    background: #ffffff;
}
.cf-feature-popup-details > div {
    min-width: 0;
    padding: 5px 0;
    display: grid;
    grid-template-columns: minmax(82px, .8fr) minmax(0, 1.2fr);
    gap: 8px;
    border-bottom: 1px solid #edf2f3;
}
.cf-feature-popup-details > div:last-child { border-bottom: 0; }
.cf-feature-popup-details span {
    color: #7f9199;
    font-size: 8px;
    font-weight: 400;
}
.cf-feature-popup-details strong {
    min-width: 0;
    overflow: hidden;
    color: #274753;
    font-size: 8.5px;
    font-weight: 500;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cf-feature-popup-kml,
.cf-gleba-popup-kml {
    width: 100%;
    min-height: 39px;
    margin-top: 9px;
    padding: 8px 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 9px;
    background: #0a7568;
    color: #ffffff;
    cursor: pointer;
    font-size: 9px;
    font-weight: 600;
    transition: background-color .14s ease;
}
.cf-feature-popup-kml:hover,
.cf-gleba-popup-kml:hover { background: #075c53; }
.cf-feature-popup-kml svg,
.cf-gleba-popup-kml svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cf-gleba-popup-alert {
    font-size: 8.5px;
    font-weight: 400;
}

/* Textos auxiliares do mapa sem negrito artificial. */
.map-overlap-alert { font-weight: 500; }
.confronta-rotation-button { font-weight: 500; }
.confronta-rotation-north { font-weight: 600; }
.car-layer-row,
.car-layer-row label,
.car-layer-row-actions,
.property-alert-item,
.gleba-list,
.territorial-side-panel { font-weight: 400; }
.car-layer-row strong,
.property-alert-item strong,
.gleba-list strong { font-weight: 600; }
.territorial-tab { font-weight: 600; }

@media (max-width: 1280px) {
    .map-property-summary { width: min(980px, calc(100% - 30px)); }
    .map-summary-head { width: 250px; min-width: 220px; }
    .map-summary-grid { grid-template-columns: repeat(4, minmax(105px, 1fr)); }
    .map-summary-grid .map-summary-item { min-height: 52px; }
    .map-summary-grid .map-summary-item:nth-child(4n) { border-right: 0; }
    .map-summary-grid .map-summary-item:nth-child(-n+4) { border-bottom: 1px solid rgba(153, 189, 207, .08); }
}

@media (max-width: 900px) {
    .map-property-summary {
        width: min(760px, calc(100% - 24px));
        display: block;
    }
    .map-property-summary:not([hidden]) { display: block; }
    .map-summary-head {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        border-right: 0;
        border-bottom: 1px solid rgba(153, 189, 207, .10);
    }
    .map-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .map-summary-grid .map-summary-item { min-height: 49px; padding: 6px 8px; }
    .map-property-summary.is-collapsed .map-summary-head { border-bottom: 0; }
}

@media (max-width: 620px) {
    .map-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .map-summary-grid .map-summary-item { border-bottom: 1px solid rgba(153, 189, 207, .08); }
    .map-summary-grid .map-summary-item:nth-child(2n) { border-right: 0; }
    .map-summary-grid .map-summary-item:nth-last-child(-n+2) { border-bottom: 0; }
    .map-summary-collapse span { display: none; }
    .map-summary-collapse { width: 31px; padding: 0; }
    .map-property-summary.is-collapsed { width: calc(100% - 18px); }
    .cf-feature-popup,
    .cf-gleba-popup { min-width: 246px; }
    .client-content-app .leaflet-popup-content { min-width: 246px; }
}


/* ======================================================================
   CONFRONTA — MAPA v6 / popups refinados + cores vivas + relatório legível
   ====================================================================== */
.client-content-app .leaflet-popup-close-button {
    padding: 10px 10px 0 0;
    color: #56707c;
    font-size: 18px;
    font-weight: 500;
}
.client-content-app .leaflet-popup-content { min-width: 280px; }
.cf-feature-popup,
.cf-gleba-popup {
    overflow: hidden;
    min-width: 280px;
    color: #123344;
    font-family: inherit;
    text-rendering: optimizeLegibility;
}
.cf-feature-popup-head,
.cf-gleba-popup-head {
    padding: 15px 16px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e3ebee;
    background: linear-gradient(180deg, #fbfdfd 0%, #f4f8f8 100%);
}
.cf-feature-popup-dot,
.cf-gleba-popup-dot {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    border: 2px solid rgba(5,34,50,.14);
    border-radius: 50%;
}
.cf-feature-popup-title,
.cf-gleba-popup-title { min-width: 0; flex: 1; }
.cf-feature-popup-title strong,
.cf-gleba-popup-title strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0b2d3c;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
}
.cf-feature-popup-title span,
.cf-gleba-popup-title span {
    display: block;
    margin-top: 3px;
    color: #6c8089;
    font-size: 10px;
    font-weight: 500;
}
.cf-feature-popup-body,
.cf-gleba-popup-body { padding: 13px 16px 15px; }
.cf-feature-popup-metrics,
.cf-gleba-popup-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.cf-feature-popup-metric,
.cf-gleba-popup-metric {
    padding: 10px 11px;
    border: 1px solid #e4ecef;
    border-radius: 11px;
    background: #f7faf9;
}
.cf-feature-popup-metric span,
.cf-feature-popup-metric strong,
.cf-gleba-popup-metric span,
.cf-gleba-popup-metric strong { display: block; }
.cf-feature-popup-metric span,
.cf-gleba-popup-metric span {
    color: #70848d;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
}
.cf-feature-popup-metric strong,
.cf-gleba-popup-metric strong {
    margin-top: 4px;
    color: #173c4b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}
.cf-feature-popup-car-line,
.cf-gleba-popup-car-line {
    margin-top: 10px;
    padding: 10px 11px;
    border: 1px solid #dfe9ec;
    border-radius: 11px;
    background: #fbfcfc;
}
.cf-feature-popup-car-line span,
.cf-gleba-popup-car-line span {
    display: block;
    color: #70848d;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
}
.cf-feature-popup-car-line strong,
.cf-gleba-popup-car-line strong {
    display: block;
    margin-top: 4px;
    color: #0f3040;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.cf-feature-popup-details { margin-top: 10px; display: grid; gap: 7px; }
.cf-feature-popup-details > div {
    padding: 9px 10px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-radius: 10px;
    background: #f8fbfb;
    border: 1px solid #e9eff1;
}
.cf-feature-popup-details span { color: #667b85; font-size: 10px; }
.cf-feature-popup-details strong {
    color: #183f4e;
    font-size: 11px;
    font-weight: 600;
    text-align: right;
    overflow-wrap: anywhere;
}
.cf-feature-popup-kml,
.cf-gleba-popup-kml,
.cf-gleba-popup-action {
    min-height: 40px;
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0;
    transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.cf-feature-popup-kml:hover,
.cf-gleba-popup-kml:hover,
.cf-gleba-popup-action:hover { transform: translateY(-1px); }
.cf-feature-popup-kml svg,
.cf-gleba-popup-kml svg,
.cf-gleba-popup-action svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cf-feature-popup-kml {
    width: 100%;
    margin-top: 11px;
    background: #0a6b62;
    color: #fff;
    box-shadow: 0 10px 22px rgba(10,107,98,.16);
}
.cf-feature-popup-kml:hover { background: #07594f; }
.cf-gleba-popup-alert {
    margin-top: 10px;
    padding: 10px 11px;
    border-radius: 10px;
    background: #fff7e9;
    color: #8a5809;
    font-size: 10px;
    line-height: 1.55;
}
.cf-gleba-popup-alert.is-clear { background: #edf9f2; color: #257148; }
.cf-gleba-popup-actions {
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.cf-gleba-popup-action.is-primary {
    background: #0a6b62;
    color: #fff;
    box-shadow: 0 10px 22px rgba(10,107,98,.16);
}
.cf-gleba-popup-action.is-primary:hover { background: #07594f; }
.cf-gleba-popup-action.is-secondary {
    background: #edf4f7;
    color: #1e4e63;
}
.cf-gleba-popup-action.is-secondary:hover,
.cf-gleba-popup-action.is-secondary.is-editing {
    background: #dfeef4;
    color: #0f465b;
}
.cf-gleba-popup-action.is-danger {
    background: #fff1f1;
    color: #b42318;
}
.cf-gleba-popup-action.is-danger:hover { background: #ffe3e3; }

/* Relatório mais legível */
.territorial-report-view { padding: 16px; }
.report-head { padding-bottom: 14px; }
.report-head h2 { font-size: 19px; }
.report-section { padding: 15px 0; }
.report-section h3 { font-size: 15px; margin-bottom: 10px; }
.report-data div,
.report-list > div {
    padding: 8px 0;
    font-size: 11.5px;
}
.report-data dt,
.report-list span { color: #647881; font-size: 11px; }
.report-data dd,
.report-list strong {
    font-size: 12.5px;
    color: #213842;
    font-weight: 600;
}
.report-restriction-summary { padding: 12px 14px; border-radius: 10px; }
.report-restriction-summary strong { font-size: 13px; }
.report-restriction-summary span { font-size: 11px; }
.report-analysis-list { gap: 12px; }
.report-analysis-card {
    padding: 14px;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(10, 28, 40, .04);
}
.report-analysis-head strong { font-size: 13px; font-weight: 600; }
.report-analysis-head span { font-size: 10.5px; font-weight: 600; }
.report-analysis-card > p,
.territorial-report-view .report-analysis-card > p {
    font-size: 11px;
    line-height: 1.58;
}
.report-caution { padding: 9px 10px; font-size: 11px; border-radius: 8px; }
.report-analysis-details summary { font-size: 10.5px; font-weight: 600; }
.report-record-grid { gap: 10px; margin-top: 10px; }
.report-record-card {
    padding: 10px 11px;
    border-radius: 9px;
}
.report-record-card dt { font-size: 9px; }
.report-record-card dd { font-size: 10.5px; font-weight: 600; }
.report-map-note { font-size: 10px; }
.report-gleba-label { font-size: 12px; }
@media (max-width: 720px) {
    .cf-feature-popup,
    .cf-gleba-popup { min-width: 250px; }
    .cf-gleba-popup-actions { grid-template-columns: 1fr; }
    .report-head h2 { font-size: 17px; }
}


/* ======================================================================
   CONFRONTA — MAPA v7 / tipografia leve + resumo limpo + impressão econômica
   ====================================================================== */

/* Tipografia: reduzimos mais o peso. Destaque deixa de significar "negrito". */
.client-shell,
.client-shell button,
.client-shell input,
.client-shell select,
.client-shell textarea,
.client-shell .leaflet-container {
    font-weight: 400;
    letter-spacing: 0;
}
.client-shell strong,
.client-shell b { font-weight: 500; }
.client-shell button,
.client-shell a { font-weight: 400; }
.client-shell .eyebrow,
.client-shell .territorial-tool-drawer-title span,
.client-topbar-brand strong,
.cf-client-brand strong { font-weight: 500; }
.client-global-search-submit,
.cf-search-submit { font-weight: 500; }
.client-rail-link[data-rail-label]::after { font-weight: 400; }
.map-layer-drawer-head span,
.territorial-tool-drawer-title span,
.map-layer-eye .map-layer-name { font-weight: 400; }
.territorial-tool-drawer-title strong { font-weight: 400; }
.car-layer-row strong,
.property-alert-item strong,
.gleba-list strong,
.territorial-tab { font-weight: 500; }

/* O logo é marca, não mais um segundo botão de início. */
.client-rail-brand,
.client-topbar-brand { cursor: default; }
.client-rail-help {
    margin-bottom: 8px;
    color: #a8beca;
}
.client-rail-help svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.client-rail-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Ficha inferior: somente os dados realmente úteis, em uma única faixa. */
.map-property-summary {
    width: min(1160px, calc(100% - 52px));
    min-height: 58px;
    border-radius: 12px;
}
.map-property-summary:not([hidden]) { display: block; }
.map-summary-grid {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}
.map-summary-grid .map-summary-item {
    min-height: 58px;
    padding: 7px 11px;
}
.map-summary-grid .map-summary-item span {
    font-size: 8px;
    font-weight: 400;
}
.map-summary-grid .map-summary-item strong {
    margin-top: 3px;
    font-size: 10.5px;
    font-weight: 500;
}
.map-summary-grid .map-summary-item small { font-weight: 400; }
.client-content-app .map-live-area { bottom: 84px; }

/* Balões: um único raio real; o conteúdo é recortado pelo wrapper do Leaflet. */
.client-content-app .leaflet-popup-content-wrapper {
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(0, 10, 20, .22);
}
.client-content-app .leaflet-popup-content {
    overflow: hidden;
    border-radius: 14px;
}
.cf-feature-popup,
.cf-gleba-popup {
    overflow: hidden;
    border-radius: 14px;
}
.cf-feature-popup-head,
.cf-gleba-popup-head {
    border-radius: 0;
}
.cf-feature-popup-title strong,
.cf-gleba-popup-title strong {
    font-size: 14px;
    font-weight: 500;
}
.cf-feature-popup-title span,
.cf-gleba-popup-title span { font-weight: 400; }
.cf-feature-popup-metric span,
.cf-gleba-popup-metric span,
.cf-feature-popup-car-line span,
.cf-gleba-popup-car-line span { font-weight: 400; }
.cf-feature-popup-metric strong,
.cf-gleba-popup-metric strong,
.cf-feature-popup-car-line strong,
.cf-gleba-popup-car-line strong,
.cf-feature-popup-details strong { font-weight: 500; }
.cf-feature-popup-kml,
.cf-gleba-popup-kml,
.cf-gleba-popup-action { font-weight: 500; }

/* Ações da gleba: durante edição surge Cancelar edição, sem perder KML/Excluir. */
.cf-gleba-popup-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cf-gleba-popup-action[hidden] { display: none !important; }
.cf-gleba-popup-action.is-cancel {
    background: #fff7e8;
    color: #8a5b12;
}
.cf-gleba-popup-action.is-cancel:hover { background: #ffedc8; }

/* Relatório na tela: hierarquia editorial, pesos leves e leitura confortável. */
.territorial-report-view,
.territorial-report-view p,
.territorial-report-view dt,
.territorial-report-view dd,
.territorial-report-view span { font-weight: 400; }
.report-head h2,
.report-section h3,
.report-data dd,
.report-list strong,
.report-restriction-summary strong,
.report-analysis-head strong,
.report-analysis-head span,
.report-record-card dd,
.report-analysis-details summary { font-weight: 500; }
.report-head h2 { font-size: 19px; letter-spacing: -.01em; }
.report-section h3 { font-size: 14.5px; letter-spacing: 0; }
.report-data div,
.report-list > div { font-size: 11.5px; }
.report-data dt,
.report-list span { font-size: 11px; }
.report-data dd,
.report-list strong { font-size: 12px; }
.report-analysis-head strong { font-size: 12.5px; }
.report-analysis-head span { font-size: 10px; }
.report-analysis-card > p,
.territorial-report-view .report-analysis-card > p { font-size: 11px; }

/* Impressão econômica: sem caixas, bordas, sombras ou fundos que gastem tinta. */
@media print {
    .territorial-report-view,
    .territorial-report-view *,
    .report-section,
    .report-analysis-card,
    .report-record-card,
    .report-restriction-summary,
    .report-caution,
    .report-map-preview {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    .report-section,
    .report-data div,
    .report-list > div,
    .report-analysis-card,
    .report-record-card,
    .report-restriction-summary,
    .report-caution,
    .report-map-preview,
    .report-head {
        border: 0 !important;
        border-left: 0 !important;
        border-bottom: 0 !important;
        outline: 0 !important;
    }
    .report-analysis-card,
    .report-record-card,
    .report-restriction-summary,
    .report-caution,
    .report-map-preview {
        background: #fff !important;
    }
    .report-section { padding: 4mm 0 !important; }
    .report-analysis-card { padding: 2.5mm 0 !important; }
    .report-record-card { padding: 2mm 0 !important; }
    .report-data div,
    .report-list > div { padding: 1.6mm 0 !important; }
    .report-head h2,
    .report-section h3,
    .report-analysis-head strong,
    .report-data dd,
    .report-list strong { color: #18272d !important; }
    .report-data dt,
    .report-list span,
    .report-analysis-card > p,
    .report-record-card dt,
    .report-record-card dd { color: #3f4e54 !important; }
}

@media (max-width: 1280px) {
    .map-property-summary { width: min(920px, calc(100% - 30px)); }
    .map-summary-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
}
@media (max-width: 720px) {
    .map-property-summary { width: calc(100% - 18px); }
    .map-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cf-gleba-popup-actions { grid-template-columns: 1fr; }
}


/* Ajustes finais V7: pesos do relatório e impressão sem qualquer separador. */
.territorial-report-view .eyebrow { font-weight: 500; }
.territorial-report-view .report-data dt,
.territorial-report-view .report-list span { font-weight: 400; }
.territorial-report-view .report-data dd,
.territorial-report-view .report-list strong { font-weight: 500; }
.territorial-report-view .report-analysis-head strong,
.territorial-report-view .report-analysis-head span { font-weight: 500; }
.territorial-report-view .report-record-card dt { font-weight: 400; }
.territorial-report-view .report-record-card dd { font-weight: 500; }

@media print {
    html, body {
        -webkit-print-color-adjust: economy !important;
        print-color-adjust: economy !important;
    }
    .report-section:not(.report-map-section) + .report-section:not(.report-map-section),
    .report-analysis-card + .report-analysis-card,
    .report-record-card,
    .report-record-card + .report-record-card {
        border: 0 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
    }
    .report-map-section h3,
    .report-section h3,
    .report-data dd,
    .report-list strong,
    .report-restriction-summary strong,
    .report-analysis-head strong,
    .report-analysis-head span,
    .report-analysis-details summary,
    .report-record-card dd {
        font-weight: 500 !important;
    }
    .report-data dt,
    .report-list span,
    .report-analysis-card > p,
    .report-record-card dt,
    .report-map-note {
        font-weight: 400 !important;
    }
}


/* ======================================================================
   CONFRONTA — MAPA v8 / ações das camadas + paleta GEO
   ====================================================================== */
.cf-feature-popup-color-section {
    margin-top: 11px;
    padding: 10px 11px;
    border: 1px solid #e4ecef;
    border-radius: 11px;
    background: #f8fbfb;
}
.cf-feature-popup-color-label {
    display: block;
    margin-bottom: 8px;
    color: #627983;
    font-size: 10px;
    font-weight: 400;
}
.cf-feature-popup-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cf-feature-popup-swatch {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid rgba(14, 37, 47, .14);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
    cursor: pointer;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.cf-feature-popup-swatch:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(6, 27, 35, .12);
}
.cf-feature-popup-swatch.is-active {
    border-color: #0f5b80;
    box-shadow: 0 0 0 3px rgba(15, 91, 128, .16);
}
.cf-feature-popup-swatch.is-light {
    border-color: rgba(9, 31, 43, .22);
}
.cf-feature-popup-actions {
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.cf-feature-popup-action {
    min-height: 40px;
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.cf-feature-popup-action:hover { transform: translateY(-1px); }
.cf-feature-popup-action svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cf-feature-popup-action.is-secondary {
    background: #edf4f7;
    color: #1e4e63;
}
.cf-feature-popup-action.is-secondary:hover { background: #dfeef4; color: #0f465b; }
.cf-feature-popup-action.is-muted {
    background: #f4f6f7;
    color: #516870;
}
.cf-feature-popup-action.is-muted:hover { background: #e8edef; color: #334c56; }
@media (max-width: 720px) {
    .cf-feature-popup-actions { grid-template-columns: 1fr; }
}

/* ======================================================================
   CONFRONTA — HOME + INTELIGÊNCIA v15
   Visual aprovado: clean corporativo + geotecnologia moderna.
   O mapa é o elemento principal; A4 permanece restrito à impressão.
   ====================================================================== */
@media screen {
    body.new-query-open { overflow: hidden; }

    .cf-shell-v15.client-shell {
        height: 100vh;
        min-height: 0;
        grid-template-columns: 208px minmax(0, 1fr);
        overflow: hidden;
        background: #eef3f1;
    }

    .cf-shell-v15 .client-rail {
        position: fixed;
        inset: 0 auto 0 0;
        width: 208px;
        padding: 0 10px;
        overflow: hidden;
        background: linear-gradient(180deg, #0B2D3C 0%, #082833 58%, #06222c 100%);
        border-right: 1px solid rgba(255,255,255,.07);
        box-shadow: 8px 0 28px rgba(4, 25, 33, .13);
    }

    .cf-shell-v15 .client-rail-brand {
        width: 100%;
        height: 72px;
        margin: 0;
        padding: 0 10px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #fff;
    }
    .cf-shell-v15 .client-rail-brand img { width: 31px; height: 31px; }
    .cf-shell-v15 .client-rail-brand strong {
        display: block;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: .025em;
    }

    .cf-shell-v15 .client-rail-nav.client-rail-nav-single {
        flex: 1 1 auto;
        width: 100%;
        padding: 13px 0 10px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 5px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,.12) transparent;
    }

    .cf-shell-v15 .client-rail-link,
    .cf-shell-v15 .client-rail-link.car-rail-tool,
    .cf-shell-v15 .client-rail-link.car-rail-home,
    .cf-shell-v15 .client-rail-help {
        width: 100%;
        min-height: 43px;
        margin: 0;
        padding: 0 12px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        border: 1px solid transparent;
        border-radius: 9px;
        background: transparent;
        color: #d2e0e4;
        font-size: 12px;
        line-height: 1;
        text-align: left;
    }
    .cf-shell-v15 .client-rail-link::before { display: none !important; }
    .cf-shell-v15 .client-rail-link:hover,
    .cf-shell-v15 .client-rail-link.is-active,
    .cf-shell-v15 .client-rail-link.car-rail-home.is-active,
    .cf-shell-v15 .client-rail-link.car-rail-home:hover {
        color: #fff;
        background: rgba(31, 90, 46, .86);
        border-color: rgba(167, 213, 176, .10);
    }
    .cf-shell-v15 .client-rail-link.is-disabled,
    .cf-shell-v15 .client-rail-link:disabled {
        opacity: .45;
        cursor: default;
    }
    .cf-shell-v15 .client-rail-link svg,
    .cf-shell-v15 .client-rail-link.car-rail-tool svg,
    .cf-shell-v15 .client-rail-link.car-rail-home svg,
    .cf-shell-v15 .client-rail-help svg {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        stroke-width: 1.6;
    }
    .cf-shell-v15 .client-rail-label { display: inline; color: inherit; }

    .cf-shell-v15 .client-rail-footer {
        width: 100%;
        padding: 9px 0 13px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 7px;
        border-top: 1px solid rgba(255,255,255,.07);
    }
    .cf-shell-v15 .client-rail-help { margin: 0; color: #b7cbd2; }
    .cf-shell-v15 .client-rail-user-menu { width: 100%; }
    .cf-shell-v15 .client-rail-user-menu > summary {
        width: 100%;
        height: auto;
        min-height: 60px;
        margin: 0;
        padding: 9px 10px;
        display: grid;
        grid-template-columns: 34px minmax(0,1fr) 8px;
        gap: 9px;
        align-items: center;
        border: 1px solid rgba(255,255,255,.07);
        border-radius: 10px;
        background: rgba(255,255,255,.035);
        box-shadow: none;
    }
    .cf-shell-v15 .client-rail-user-menu[open] > summary {
        background: rgba(255,255,255,.065);
        border-color: rgba(167,213,176,.18);
    }
    .cf-shell-v15 .client-rail-user-avatar {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--floresta);
        color: #fff;
    }
    .cf-shell-v15 .client-rail-user-avatar svg { width: 18px; height: 18px; }
    .cf-shell-v15 .client-rail-user-copy {
        min-width: 0;
        display: grid;
        gap: 3px;
        color: #fff;
    }
    .cf-shell-v15 .client-rail-user-copy strong,
    .cf-shell-v15 .client-rail-user-copy small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .cf-shell-v15 .client-rail-user-copy strong { font-size: 10.5px; font-weight: 500; }
    .cf-shell-v15 .client-rail-user-copy small { color: #9fb7c0; font-size: 9px; }
    .cf-shell-v15 .client-rail-user-status {
        position: static;
        width: 7px;
        height: 7px;
        border: 0;
        background: var(--verde);
    }
    .cf-shell-v15 .client-rail-user-popover {
        left: calc(100% + 10px);
        bottom: 8px;
        background: #0B2D3C;
    }

    .cf-shell-v15 .client-main {
        grid-column: 2;
        height: 100vh;
        min-height: 0;
        overflow: hidden;
        background: #eef3f1;
    }
    .cf-shell-v15 .client-topbar {
        position: relative;
        top: auto;
        z-index: 1400;
        min-height: 72px;
        height: 72px;
        padding: 10px 18px;
        display: grid;
        grid-template-columns: minmax(430px, 1.35fr) minmax(260px, .65fr);
        align-items: center;
        gap: 18px;
        background: #fff;
        border-bottom: 1px solid #e3eae7;
        box-shadow: 0 3px 16px rgba(11,45,60,.06);
    }
    .cf-shell-v15 .client-topbar-query-area,
    .cf-shell-v15 .client-topbar-context { min-width: 0; }
    .cf-shell-v15 .top-query-cluster {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .cf-shell-v15 .new-query-button {
        min-height: 43px;
        padding: 0 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        flex: 0 0 auto;
        border: 1px solid #3c8f56;
        border-radius: 8px;
        background: var(--floresta);
        color: #fff;
        box-shadow: 0 5px 14px rgba(31,90,46,.16);
        cursor: pointer;
        font-size: 11.5px;
        font-weight: 500;
        transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
    }
    .cf-shell-v15 .new-query-button:hover {
        background: #174b26;
        box-shadow: 0 7px 18px rgba(31,90,46,.20);
    }
    .cf-shell-v15 .new-query-button:active { transform: translateY(1px); }
    .cf-shell-v15 .new-query-button > span { font-size: 18px; font-weight: 300; line-height: 1; }

    .cf-shell-v15 .client-global-search,
    .cf-shell-v15 .cf-global-search {
        width: min(100%, 360px);
        min-height: 43px;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: minmax(0,1fr) 42px;
        gap: 0;
        border: 1px solid #d8e2de;
        border-radius: 8px;
        background: #fff;
        box-shadow: none;
        color: var(--text);
    }
    .cf-shell-v15 .client-global-search-field,
    .cf-shell-v15 .cf-global-search-field {
        min-width: 0;
        padding-left: 12px;
        display: grid;
        grid-template-columns: 18px minmax(0,1fr);
        align-items: center;
        gap: 8px;
    }
    .cf-shell-v15 .client-global-search-field svg {
        width: 17px;
        height: 17px;
        fill: none;
        stroke: #577078;
        stroke-width: 1.7;
    }
    .cf-shell-v15 .client-global-search input {
        width: 100%;
        min-height: 40px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #23383f;
        font-size: 11px;
    }
    .cf-shell-v15 .client-global-search input::placeholder { color: #89989d; }
    .cf-shell-v15 .client-global-search-submit,
    .cf-shell-v15 .cf-search-submit {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border: 0;
        border-left: 1px solid #edf1ef;
        border-radius: 0 8px 8px 0;
        background: transparent;
        color: #3e5961;
        cursor: pointer;
    }
    .cf-shell-v15 .client-global-search-submit:hover { background: #f4f8f6; color: var(--floresta); }
    .cf-shell-v15 .client-global-search-submit svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }

    .cf-shell-v15 .topbar-property-facts {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0;
        color: #31474f;
    }
    .cf-shell-v15 .topbar-property-facts > span {
        min-width: 0;
        padding: 0 18px;
        display: flex;
        align-items: center;
        gap: 7px;
        border-left: 1px solid #e7ecea;
        white-space: nowrap;
        font-size: 10.5px;
    }
    .cf-shell-v15 .topbar-property-facts > span:first-child { border-left: 0; }
    .cf-shell-v15 .topbar-property-facts svg {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        fill: none;
        stroke: var(--floresta);
        stroke-width: 1.6;
    }
    .cf-shell-v15 .topbar-property-facts b { font-weight: 500; color: #172b32; }

    .cf-shell-v15 .client-content-app {
        position: relative;
        height: calc(100vh - 72px);
        min-height: 0;
        padding: 0;
        overflow: hidden;
        background: #10261f;
    }
    .cf-shell-v15 .client-content-app .territorial-screen,
    .cf-shell-v15 .territorial-screen-empty {
        width: 100%;
        height: 100%;
        min-height: 0;
        border: 0;
        border-radius: 0;
    }
    .cf-shell-v15 .territorial-map-column,
    .cf-shell-v15 .territorial-map,
    .cf-shell-v15 .territorial-map-empty {
        width: 100%;
        height: 100%;
        min-height: 0;
    }
    .cf-shell-v15 .territorial-screen-empty .leaflet-tile-pane { filter: none; opacity: 1; }
    .cf-shell-v15 .empty-map-shade,
    .cf-shell-v15 .empty-map-brand { display: none !important; }
    .cf-shell-v15 .empty-map-car-message {
        position: absolute;
        z-index: 950;
        top: 18px;
        left: 50%;
        transform: translateX(-50%);
        padding: 9px 13px;
        border: 1px solid rgba(255,255,255,.24);
        border-radius: 9px;
        background: rgba(11,45,60,.90);
        color: #fff;
        box-shadow: 0 10px 26px rgba(0,0,0,.18);
        font-size: 10.5px;
    }

    /* Camadas flutuam à direita para preservar o centro cartográfico. */
    .cf-shell-v15 .map-layer-drawer {
        top: 16px;
        right: 16px;
        left: auto;
        width: 292px;
        max-height: calc(100% - 32px);
        border: 1px solid #dce5e1;
        border-radius: 12px;
        background: rgba(255,255,255,.98);
        color: #23383f;
        box-shadow: 0 16px 40px rgba(7,28,35,.19);
        backdrop-filter: blur(8px);
    }
    .cf-shell-v15 .map-layer-drawer-head {
        min-height: 54px;
        padding: 10px 12px 9px 14px;
        border-bottom: 1px solid #e8eeeb;
    }
    .cf-shell-v15 .map-layer-drawer-head span { color: #20343b; font-size: 11px; font-weight: 500; }
    .cf-shell-v15 .map-layer-drawer-head small { color: #87969b; font-size: 8.5px; }
    .cf-shell-v15 .map-layer-drawer-head button {
        border-color: #e3eae7;
        background: #f7f9f8;
        color: #5c7077;
    }
    .cf-shell-v15 .map-layer-drawer-list { background: transparent; }
    .cf-shell-v15 .map-layer-eye { color: #374c54; border-bottom-color: #edf1ef; }
    .cf-shell-v15 .map-layer-eye:hover { background: #f5f8f6; }

    /* Modal de consulta centralizado, mantendo o mapa visível ao fundo. */
    .new-query-modal {
        position: fixed;
        z-index: 3200;
        inset: 0;
        display: grid;
        place-items: center;
        padding: 28px;
    }
    .new-query-modal[hidden] { display: none !important; }
    .new-query-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(4, 24, 31, .34);
        backdrop-filter: blur(1.5px);
    }
    .new-query-dialog {
        position: relative;
        z-index: 1;
        width: min(680px, calc(100vw - 48px));
        max-height: min(760px, calc(100vh - 56px));
        overflow: auto;
        padding: 22px;
        border: 1px solid #dbe4e0;
        border-radius: 15px;
        background: #fff;
        color: var(--text);
        box-shadow: 0 28px 80px rgba(4,24,31,.30);
    }
    .new-query-head {
        margin: 0 0 18px;
        padding: 0 2px 15px;
        align-items: flex-start;
        border-bottom: 1px solid #edf1ef;
    }
    .new-query-head h2 { margin: 0; color: #172c34; font-size: 21px; font-weight: 500; }
    .new-query-head p { margin: 5px 0 0; color: #74858b; font-size: 11px; }
    .new-query-close {
        width: 32px;
        height: 32px;
        border: 0;
        border-radius: 8px;
        background: transparent;
        color: #526a72;
        font-size: 22px;
        cursor: pointer;
    }
    .new-query-close:hover { background: #f2f6f4; }
    .new-query-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 12px;
    }
    .new-query-option {
        min-height: 138px;
        padding: 17px;
        display: grid;
        grid-template-columns: 45px minmax(0,1fr) 18px;
        align-items: start;
        gap: 12px;
        border: 1px solid #dce5e1;
        border-radius: 11px;
        background: #fff;
        color: #253b43;
        text-align: left;
        cursor: pointer;
        transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
    }
    .new-query-option:hover {
        transform: translateY(-1px);
        border-color: #a9cbb4;
        background: #fbfdfc;
        box-shadow: 0 8px 20px rgba(11,45,60,.07);
    }
    .new-query-option:disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
    .new-query-option > span:nth-child(2) { min-width: 0; display: grid; gap: 6px; }
    .new-query-option strong { color: #1b3037; font-size: 13px; font-weight: 500; }
    .new-query-option small { color: #73858b; font-size: 10px; line-height: 1.45; }
    .new-query-option > b { align-self: center; justify-self: end; color: #586d74; font-size: 22px; font-weight: 300; }
    .new-query-option-icon,
    .new-query-pin,
    .new-query-polygon {
        width: 43px;
        height: 43px;
        display: grid;
        place-items: center;
        border: 1px solid currentColor;
        border-radius: 9px;
        background: #f8fbf9;
        font-size: 10px;
        font-weight: 600;
    }
    .new-query-option.is-car .new-query-option-icon { color: var(--floresta); }
    .new-query-option.is-kml .new-query-option-icon { color: #2d67a5; }
    .new-query-option.is-coord .new-query-pin { color: #7758c8; font-size: 23px; }
    .new-query-option.is-draw .new-query-polygon { color: #d47d21; font-size: 23px; }

    .new-query-form-view { min-height: 250px; padding: 2px 3px 3px; }
    .new-query-form-view[hidden] { display: none !important; }
    .new-query-back {
        margin-bottom: 13px;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--floresta);
        cursor: pointer;
        font-size: 10.5px;
    }
    .new-query-form-view h3 { margin: 0 0 16px; color: #1d333b; font-size: 17px; font-weight: 500; }
    .new-query-form-view > p { color: #697d84; font-size: 11px; line-height: 1.55; }
    .new-query-form { display: grid; gap: 11px; }
    .new-query-form label { margin: 0; color: #354b53; font-size: 10.5px; font-weight: 500; }
    .new-query-form input[type="text"],
    .new-query-form input[type="number"] {
        width: 100%;
        min-height: 44px;
        margin-top: 6px;
        padding: 9px 11px;
        border: 1px solid #d3dfda;
        border-radius: 8px;
        outline: none;
        background: #fff;
        color: #22363e;
        font-size: 11px;
    }
    .new-query-form input:focus { border-color: var(--verde); box-shadow: 0 0 0 3px rgba(79,163,106,.12); }
    .new-query-form > button,
    .new-query-primary {
        min-height: 42px;
        padding: 0 15px;
        border: 1px solid #3c8f56;
        border-radius: 8px;
        background: var(--floresta);
        color: #fff;
        cursor: pointer;
        font-size: 11px;
        font-weight: 500;
    }
    .coordinate-form { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .coordinate-form small,
    .coordinate-form > button { grid-column: 1 / -1; }
    .coordinate-form small { color: #78898f; font-size: 9.5px; }
    .new-query-drop {
        min-height: 110px;
        padding: 18px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 5px;
        border: 1px dashed #aebfba;
        border-radius: 10px;
        background: #f8fbf9;
        color: var(--floresta) !important;
        cursor: pointer;
        text-align: center;
    }
    .new-query-drop span { color: #809198; font-size: 9.5px; font-weight: 400; }
    .new-query-form input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .new-query-file-name { color: #6e8086; font-size: 10px; }

    .query-draw-hud {
        position: fixed;
        z-index: 3300;
        left: calc(50% + 104px);
        bottom: 24px;
        transform: translateX(-50%);
        min-width: 410px;
        padding: 10px 12px;
        display: grid;
        grid-template-columns: auto minmax(0,1fr) auto;
        align-items: center;
        gap: 10px;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 11px;
        background: rgba(11,45,60,.94);
        color: #fff;
        box-shadow: 0 18px 42px rgba(0,0,0,.24);
    }
    .query-draw-hud[hidden] { display: none !important; }
    .query-draw-hud strong { font-size: 10.5px; font-weight: 500; }
    .query-draw-hud span { color: #bdd0d6; font-size: 9.5px; }
    .query-draw-hud button {
        min-height: 32px;
        padding: 0 10px;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 7px;
        background: rgba(255,255,255,.07);
        color: #fff;
        cursor: pointer;
        font-size: 9.5px;
    }

    /* Painéis de inteligência: cartões web, não folha A4. */
    .cf-shell-v15 .territorial-side-panel.territorial-tool-drawer {
        top: 14px;
        right: 14px;
        bottom: 14px;
        width: min(440px, calc(100% - 28px));
        border: 1px solid #dce5e1;
        border-radius: 14px;
        background: #f7faf8;
        color: #253a42;
        box-shadow: 0 20px 58px rgba(6,28,35,.24);
    }
    .cf-shell-v15 .territorial-side-panel.is-report-mode {
        width: min(760px, calc(100% - 28px));
        background: #f4f7f5;
    }
    .cf-shell-v15 .territorial-side-panel.is-report-maximized {
        top: 8px;
        right: 8px;
        bottom: 8px;
        width: calc(100% - 16px);
    }
    .cf-shell-v15 .territorial-tool-drawer-head {
        min-height: 58px;
        padding: 10px 12px 10px 16px;
        background: #fff;
        border-bottom: 1px solid #e4ebe8;
    }
    .cf-shell-v15 .territorial-tool-drawer-title span { color: var(--verde); font-size: 8px; }
    .cf-shell-v15 .territorial-tool-drawer-title strong { color: #1e333a; font-size: 12px; }
    .cf-shell-v15 .territorial-tool-close { color: #5c7178; background: #f7f9f8; border-color: #e2e8e5; }
    .cf-shell-v15 .territorial-side-body { background: transparent; }
    .cf-shell-v15 .car-summary-card,
    .cf-shell-v15 .property-alert-item,
    .cf-shell-v15 .report-section,
    .cf-shell-v15 .report-analysis-card {
        border: 1px solid #e2e9e6;
        border-radius: 11px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(11,45,60,.035);
    }
    .cf-shell-v15 .property-alert-item { margin-bottom: 8px; }
    .cf-shell-v15 .property-alert-item.state-alerta,
    .cf-shell-v15 .property-alert-item.state-atencao { border-left: 3px solid #d99932; }

    .cf-shell-v15 .territorial-report-view { padding: 15px; background: transparent; }
    .cf-shell-v15 .report-head {
        margin-bottom: 12px;
        padding: 3px 2px 12px;
        border-bottom: 0;
    }
    .cf-shell-v15 .report-head h2 { color: #1b3138; font-size: 20px; font-weight: 500; }
    .cf-shell-v15 .report-section {
        margin: 0 0 11px;
        padding: 15px;
        border-bottom: 1px solid #e2e9e6;
    }
    .cf-shell-v15 .report-section h3 { margin: 0 0 11px; color: #233a42; font-size: 13px; font-weight: 500; }
    .cf-shell-v15 .report-data {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 8px;
    }
    .cf-shell-v15 .report-data > div {
        min-width: 0;
        padding: 10px;
        border: 0;
        border-radius: 8px;
        background: #f7faf8;
    }
    .cf-shell-v15 .report-data dt { color: #7d8e93; font-size: 9px; }
    .cf-shell-v15 .report-data dd { margin-top: 4px; color: #263d45; font-size: 11px; font-weight: 500; overflow-wrap: anywhere; }
    .cf-shell-v15 .report-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    .cf-shell-v15 .report-list > div {
        padding: 9px 10px;
        border: 0;
        border-radius: 8px;
        background: #f7faf8;
    }
    .cf-shell-v15 .report-restriction-summary {
        padding: 12px;
        border: 0;
        border-radius: 9px;
        background: #fff8eb;
        color: #72531b;
    }
    .cf-shell-v15 .report-analysis-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .cf-shell-v15 .report-analysis-card { margin: 0; padding: 12px; }
    .cf-shell-v15 .report-analysis-card.state-alerta,
    .cf-shell-v15 .report-analysis-card.state-atencao { border-left: 3px solid #d99932; }
    .cf-shell-v15 .report-record-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cf-shell-v15 .report-map-preview { min-height: 290px; border: 0; border-radius: 10px; overflow: hidden; }
    .cf-shell-v15 .report-map-note { color: #7a8b91; }

    .cf-shell-v15 .message-stack,
    .cf-shell-v15 .client-content-app > .message-stack {
        position: absolute;
        z-index: 2500;
        top: 12px;
        left: 50%;
        width: min(640px, calc(100% - 28px));
        transform: translateX(-50%);
        margin: 0;
    }
}

@media screen and (max-width: 1100px) {
    .cf-shell-v15.client-shell { grid-template-columns: 64px minmax(0,1fr); }
    .cf-shell-v15 .client-rail { width: 64px; padding: 0 7px; }
    .cf-shell-v15 .client-rail-brand { justify-content: center; padding: 0; }
    .cf-shell-v15 .client-rail-brand strong,
    .cf-shell-v15 .client-rail-label,
    .cf-shell-v15 .client-rail-user-copy,
    .cf-shell-v15 .client-rail-user-status { display: none; }
    .cf-shell-v15 .client-rail-link,
    .cf-shell-v15 .client-rail-link.car-rail-tool,
    .cf-shell-v15 .client-rail-link.car-rail-home,
    .cf-shell-v15 .client-rail-help { justify-content: center; padding: 0; }
    .cf-shell-v15 .client-rail-user-menu > summary { grid-template-columns: 1fr; padding: 7px; }
    .cf-shell-v15 .client-topbar { grid-template-columns: minmax(420px,1fr) auto; padding-inline: 12px; }
    .cf-shell-v15 .topbar-property-facts > span:first-child { display: none; }
    .query-draw-hud { left: calc(50% + 32px); }
}

@media screen and (max-width: 780px) {
    .cf-shell-v15 .client-topbar {
        height: 62px;
        min-height: 62px;
        grid-template-columns: 1fr;
        padding: 8px;
    }
    .cf-shell-v15 .client-topbar-context { display: none; }
    .cf-shell-v15 .client-content-app { height: calc(100vh - 62px); }
    .cf-shell-v15 .top-query-cluster { gap: 7px; }
    .cf-shell-v15 .new-query-button { min-height: 40px; padding: 0 10px; font-size: 0; }
    .cf-shell-v15 .new-query-button > span { font-size: 20px; }
    .cf-shell-v15 .client-global-search,
    .cf-shell-v15 .cf-global-search { width: 100%; min-height: 40px; }
    .new-query-modal { padding: 10px; }
    .new-query-dialog { width: min(100%, 600px); max-height: calc(100vh - 20px); padding: 16px; }
    .new-query-options { grid-template-columns: 1fr; }
    .new-query-option { min-height: 96px; }
    .coordinate-form { grid-template-columns: 1fr; }
    .coordinate-form small,
    .coordinate-form > button { grid-column: auto; }
    .query-draw-hud {
        left: 72px;
        right: 10px;
        bottom: 10px;
        min-width: 0;
        transform: none;
        grid-template-columns: 1fr auto;
    }
    .query-draw-hud span { grid-column: 1 / -1; grid-row: 2; }
    .cf-shell-v15 .territorial-side-panel.territorial-tool-drawer,
    .cf-shell-v15 .territorial-side-panel.is-report-mode { width: calc(100% - 14px); top: 7px; right: 7px; bottom: 7px; }
    .cf-shell-v15 .report-data,
    .cf-shell-v15 .report-analysis-list,
    .cf-shell-v15 .report-list { grid-template-columns: 1fr; }
}

/* =========================================================
   CONFRONTA — ajustes HOME/Mapa solicitados em 2026-08-29
   - menu lateral inicia abaixo do topo
   - camadas no canto esquerdo
   - resumo do imóvel no rodapé do mapa
   ========================================================= */
.cf-shell-v15 {
    grid-template-columns: 208px minmax(0, 1fr);
}

.cf-shell-v15 .client-rail {
    inset: 72px auto 0 0;
    height: calc(100vh - 72px);
}

.cf-shell-v15 .client-main {
    height: 100vh;
}

.cf-shell-v15 .client-topbar {
    position: relative;
    z-index: 1800;
}

.cf-shell-v15 .client-topbar {
    grid-template-columns: minmax(420px, 1.5fr) auto;
}

.cf-shell-v15 .client-global-search,
.cf-shell-v15 .cf-global-search {
    width: min(100%, 410px);
    min-height: 44px;
}

.cf-shell-v15 .client-global-search input {
    font-size: 12px;
}

.cf-shell-v15 .topbar-property-facts {
    justify-content: flex-end;
}

.cf-shell-v15 .topbar-property-facts > span {
    padding-right: 0;
}

.cf-shell-v15 .territorial-map-column {
    overflow: hidden;
}

.cf-shell-v15 .map-layer-drawer {
    top: 94px;
    left: 14px;
    right: auto;
    width: 288px;
    max-height: calc(100% - 210px);
}

.map-insight-panel {
    position: absolute;
    z-index: 920;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 12px 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(238,243,241,.86) 28%, rgba(238,243,241,.96) 100%);
}

.map-insight-meta {
    display: grid;
    grid-template-columns: minmax(280px, 1.4fr) minmax(200px, .9fr) minmax(160px, .6fr);
    gap: 12px;
    margin: 0 0 10px;
}

.map-insight-meta-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border: 1px solid rgba(12, 42, 56, .08);
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 6px 18px rgba(7,28,35,.08);
}

.map-insight-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: grid;
    place-items: center;
    color: #2a6a41;
    font-size: 15px;
    font-weight: 700;
}

.map-insight-meta-item small,
.map-insight-meta-item strong {
    display: block;
}

.map-insight-meta-item small {
    color: #678089;
    font-size: 10px;
    line-height: 1.2;
}

.map-insight-meta-item strong {
    overflow: hidden;
    color: #213941;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 600;
}

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

.map-insight-card {
    min-width: 0;
    min-height: 84px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 6px 10px;
    align-items: center;
    border: 1px solid rgba(12, 42, 56, .08);
    border-radius: 10px;
    background: rgba(255,255,255,.97);
    color: #20343b;
    text-align: left;
    box-shadow: 0 8px 20px rgba(7,28,35,.09);
}

.map-insight-card:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 11px 24px rgba(7,28,35,.12);
}

.map-insight-card:disabled {
    cursor: default;
    opacity: .92;
}

.map-insight-card-value {
    color: #173741;
    font-size: 31px;
    font-weight: 700;
    line-height: 1;
}

.map-insight-card-label {
    grid-column: 1 / 2;
    color: #526971;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
}

.map-insight-card-arrow,
.map-insight-card-pill {
    justify-self: end;
    align-self: center;
}

.map-insight-card-arrow {
    grid-column: 2 / 3;
    grid-row: 1 / span 2;
    color: #68818a;
    font-size: 22px;
}

.map-insight-card-pill {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding: 3px 8px;
    border-radius: 999px;
    background: #edf2f0;
    color: #627881;
    font-size: 9px;
    font-weight: 600;
    text-transform: lowercase;
}

.map-insight-card.is-alert .map-insight-card-value {
    color: #d42f39;
}

.map-insight-card.is-neutral .map-insight-card-value {
    color: #7b8c92;
}

@media (max-width: 1390px) {
    .map-insight-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cf-shell-v15 .map-layer-drawer {
        max-height: calc(100% - 260px);
    }
}

@media (max-width: 1120px) {
    .map-insight-panel {
        padding: 8px;
    }

    .map-insight-meta {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 8px;
    }

    .map-insight-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .cf-shell-v15 .map-layer-drawer {
        top: 86px;
        width: min(280px, calc(100% - 24px));
        max-height: calc(100% - 300px);
    }
}

@media (max-width: 720px) {
    .cf-shell-v15 .client-rail {
        inset: 62px auto 0 0;
        height: calc(100vh - 62px);
    }

    .cf-shell-v15 .client-topbar {
        min-height: 62px;
        height: 62px;
        grid-template-columns: minmax(0, 1fr);
        padding: 8px 10px;
    }

    .cf-shell-v15 .client-topbar-context {
        display: none;
    }

    .cf-shell-v15 .top-query-cluster {
        gap: 8px;
    }

    .cf-shell-v15 .new-query-button {
        padding-inline: 12px;
    }

    .map-insight-panel {
        position: static;
        background: #eef3f1;
    }

    .map-insight-cards {
        grid-template-columns: 1fr;
    }

    .cf-shell-v15 .territorial-map-column {
        overflow-y: auto;
    }

    .cf-shell-v15 .territorial-map {
        min-height: 58vh;
    }

    .cf-shell-v15 .map-layer-drawer {
        top: 78px;
        left: 8px;
        width: min(270px, calc(100% - 16px));
        max-height: calc(58vh - 96px);
    }
}

/* =========================================================
   CONFRONTA — HOME v1.4 ajuste visual solicitado
   topo fixo removido; consulta flutuante no mapa;
   barra de informações superior no estilo aprovado.
   ========================================================= */
.cf-shell-v15 {
    grid-template-columns: 208px minmax(0, 1fr);
    background: #0a2028;
}

.cf-shell-v15 .client-topbar {
    display: none;
}

.cf-shell-v15 .client-main {
    height: 100vh;
    background: #0a2028;
}

.cf-shell-v15 .client-content-app {
    height: 100vh;
}

.cf-shell-v15 .client-rail {
    inset: 0 auto 0 0;
    height: 100vh;
    z-index: 1500;
}

.cf-shell-v15 .client-content-app .territorial-screen,
.cf-shell-v15 .territorial-screen-empty {
    height: 100vh;
}

.cf-shell-v15 .territorial-map-column,
.cf-shell-v15 .territorial-map,
.cf-shell-v15 .territorial-map-empty {
    width: 100%;
    height: 100vh;
}

.cf-shell-v15 .map-layer-drawer {
    top: 18px;
    left: 18px;
    right: auto;
    width: 284px;
    max-height: calc(100% - 36px);
}

.map-floating-query {
    position: absolute;
    z-index: 970;
    top: 24px;
    left: 50%;
    width: min(760px, calc(100% - 360px));
    transform: translateX(-50%);
    pointer-events: none;
}

.map-floating-query-panel {
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    pointer-events: auto;
}

.map-floating-search,
.cf-shell-v15 .map-floating-search.client-global-search,
.cf-shell-v15 .map-floating-search.cf-global-search {
    width: min(100%, 410px);
    min-height: 44px;
    border-color: rgba(216,226,222,.98);
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 28px rgba(7,28,35,.14);
}

.cf-shell-v15 .map-floating-search .client-global-search-field,
.cf-shell-v15 .map-floating-search .cf-global-search-field {
    padding-left: 13px;
}

.cf-shell-v15 .map-floating-search input {
    min-height: 42px;
    font-size: 12px;
}

.cf-shell-v15 .map-floating-query .new-query-button {
    min-height: 44px;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(31,90,46,.18);
}

.map-top-insight-bar {
    position: absolute;
    z-index: 960;
    top: 94px;
    left: 50%;
    width: min(920px, calc(100% - 420px));
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(1, 28, 49, .96);
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 18px 44px rgba(0,0,0,.26);
}

.map-top-insight-item {
    min-width: 0;
    padding: 14px 20px;
    display: grid;
    align-content: center;
    gap: 3px;
    color: #fff;
    border-right: 1px solid rgba(255,255,255,.08);
    background: transparent;
}

.map-top-insight-item:last-child {
    border-right: 0;
}

.map-top-insight-item strong,
.map-top-insight-item small,
.map-top-insight-item span {
    display: block;
}

.map-top-insight-label {
    color: rgba(223,232,236,.88);
    font-size: 10px;
    font-weight: 500;
}

.map-top-insight-item strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.map-top-insight-item .is-positive {
    color: #4ed06b;
}

.map-top-insight-alert {
    text-align: left;
    cursor: pointer;
}

.map-top-insight-alert strong {
    color: #f7bf19;
}

.map-top-insight-alert small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(228,236,241,.84);
    font-size: 9.5px;
}

/* remove barra inferior anterior */
.map-insight-panel {
    display: none !important;
}

@media (max-width: 1380px) {
    .map-floating-query {
        width: min(760px, calc(100% - 320px));
    }
    .map-top-insight-bar {
        width: min(900px, calc(100% - 360px));
    }
}

@media (max-width: 1120px) {
    .map-floating-query {
        width: calc(100% - 110px);
    }
    .map-top-insight-bar {
        width: calc(100% - 130px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        top: 138px;
    }
    .cf-shell-v15 .map-layer-drawer {
        top: 18px;
        width: min(270px, calc(100% - 32px));
        max-height: calc(100% - 290px);
    }
}

@media (max-width: 720px) {
    .cf-shell-v15 .client-content-app,
    .cf-shell-v15 .client-content-app .territorial-screen,
    .cf-shell-v15 .territorial-screen-empty,
    .cf-shell-v15 .territorial-map-column,
    .cf-shell-v15 .territorial-map,
    .cf-shell-v15 .territorial-map-empty {
        height: 100vh;
    }

    .map-floating-query {
        top: 12px;
        width: calc(100% - 88px);
    }

    .map-floating-query-panel {
        flex-direction: column;
        gap: 8px;
    }

    .map-floating-search,
    .cf-shell-v15 .map-floating-search.client-global-search,
    .cf-shell-v15 .map-floating-search.cf-global-search,
    .cf-shell-v15 .map-floating-query .new-query-button {
        width: 100%;
    }

    .map-top-insight-bar {
        top: 124px;
        width: calc(100% - 96px);
        grid-template-columns: 1fr;
    }

    .cf-shell-v15 .map-layer-drawer {
        top: 18px;
        left: 10px;
        width: min(260px, calc(100% - 20px));
        max-height: calc(100% - 330px);
    }
}
.map-floating-query.is-highlighted .map-floating-query-panel {
    animation: confrontaQueryPulse .75s ease;
}

@keyframes confrontaQueryPulse {
    0% { transform: translateY(0); }
    35% { transform: translateY(-2px); }
    70% { transform: translateY(0); }
    100% { transform: translateY(0); }
}

/* =========================================================
   CONFRONTA — HOME v1.5
   Topo slim com consulta funcional + resumo no rodapé.
   ========================================================= */
.cf-shell-v15 .client-topbar {
    display: grid !important;
    position: relative;
    top: auto;
    z-index: 1800;
    width: 100%;
    min-height: 54px;
    height: 54px;
    padding: 5px 14px;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0;
    background: rgba(255,255,255,.985);
    border-bottom: 1px solid #e1e9e6;
    box-shadow: 0 3px 14px rgba(11,45,60,.055);
}

.cf-shell-v15 .client-topbar-query-area {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cf-shell-v15 .client-topbar-context {
    display: none !important;
}

.cf-shell-v15 .top-query-cluster-slim {
    width: min(660px, calc(100vw - 260px));
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.cf-shell-v15 .top-query-cluster-slim .new-query-button {
    min-height: 38px;
    height: 38px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 11px;
    box-shadow: 0 4px 12px rgba(31,90,46,.13);
}

.cf-shell-v15 .top-query-cluster-slim .new-query-button > span {
    font-size: 16px;
}

.cf-shell-v15 .topbar-car-search.client-global-search,
.cf-shell-v15 .topbar-car-search.cf-global-search {
    width: min(100%, 420px);
    min-height: 38px;
    height: 38px;
    display: grid;
    grid-template-columns: minmax(0,1fr) 40px;
    overflow: hidden;
    border: 1px solid #d7e1dd;
    border-radius: 8px;
    background: #fff !important;
    box-shadow: none;
    pointer-events: auto;
}

.cf-shell-v15 .topbar-car-search .client-global-search-field,
.cf-shell-v15 .topbar-car-search .cf-global-search-field {
    min-width: 0;
    padding-left: 11px;
    background: #fff !important;
}

.cf-shell-v15 .topbar-car-search input,
.cf-shell-v15 .topbar-car-search input[type="text"] {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    height: 36px;
    padding: 0;
    border: 0 !important;
    outline: 0;
    background: #fff !important;
    color: #243b43 !important;
    -webkit-text-fill-color: #243b43;
    caret-color: #1f5a2e;
    font-size: 11px;
    font-weight: 400;
    opacity: 1;
    pointer-events: auto;
    user-select: text;
}

.cf-shell-v15 .topbar-car-search input::placeholder {
    color: #8a999e !important;
    opacity: 1;
}

.cf-shell-v15 .topbar-car-search .client-global-search-submit,
.cf-shell-v15 .topbar-car-search .cf-search-submit {
    width: 40px;
    height: 38px;
    background: #fff !important;
    color: #405d65;
    pointer-events: auto;
}

.cf-shell-v15 .client-main {
    height: 100vh;
}

.cf-shell-v15 .client-rail {
    inset: 54px auto 0 0;
    height: calc(100vh - 54px);
}

.cf-shell-v15 .client-content-app {
    height: calc(100vh - 54px);
}

.cf-shell-v15 .client-content-app .territorial-screen,
.cf-shell-v15 .territorial-screen-empty,
.cf-shell-v15 .territorial-map-column,
.cf-shell-v15 .territorial-map,
.cf-shell-v15 .territorial-map-empty {
    height: 100%;
}

/* A antiga consulta flutuante fica definitivamente desativada. */
.map-floating-query {
    display: none !important;
}

/* Camadas continuam no canto esquerdo do mapa. */
.cf-shell-v15 .map-layer-drawer {
    top: 14px;
    left: 14px;
    right: auto;
    width: 284px;
    max-height: calc(100% - 120px);
}

/* Quadro aprovado passa para o rodapé do mapa. */
.map-top-insight-bar {
    top: auto !important;
    bottom: 18px;
    left: 50%;
    width: min(920px, calc(100% - 390px));
    transform: translateX(-50%);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 13px;
    background: rgba(1, 28, 49, .96);
    box-shadow: 0 18px 42px rgba(0,0,0,.25);
}

.map-top-insight-item,
button.map-top-insight-item,
.map-top-insight-alert {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    outline: 0;
    font: inherit;
    background: transparent !important;
    box-shadow: none !important;
}

.map-top-insight-item:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,.08) !important;
}

.map-top-insight-item:last-child,
.map-top-insight-alert {
    border-right: 0 !important;
}

.map-top-insight-alert:hover {
    background: rgba(255,255,255,.035) !important;
}

.map-top-insight-alert:focus-visible {
    outline: 2px solid rgba(247,191,25,.62);
    outline-offset: -2px;
}

@media (max-width: 1280px) {
    .map-top-insight-bar {
        width: min(860px, calc(100% - 330px));
    }
}

@media (max-width: 980px) {
    .cf-shell-v15 .top-query-cluster-slim {
        width: calc(100% - 20px);
    }

    .map-top-insight-bar {
        width: calc(100% - 110px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        bottom: 12px;
    }
}

@media (max-width: 720px) {
    .cf-shell-v15 .client-topbar {
        min-height: 50px;
        height: 50px;
        padding: 5px 7px;
    }

    .cf-shell-v15 .client-rail {
        inset: 50px auto 0 0;
        height: calc(100vh - 50px);
    }

    .cf-shell-v15 .client-content-app {
        height: calc(100vh - 50px);
    }

    .cf-shell-v15 .top-query-cluster-slim {
        width: 100%;
        gap: 6px;
    }

    .cf-shell-v15 .top-query-cluster-slim .new-query-button {
        flex: 0 0 auto;
        padding: 0 10px;
    }

    .cf-shell-v15 .topbar-car-search.client-global-search,
    .cf-shell-v15 .topbar-car-search.cf-global-search {
        min-width: 0;
        flex: 1 1 auto;
    }

    .map-top-insight-bar {
        width: calc(100% - 82px);
        grid-template-columns: 1fr;
        bottom: 9px;
    }

    .cf-shell-v15 .map-layer-drawer {
        top: 10px;
        left: 8px;
        width: min(260px, calc(100% - 16px));
        max-height: calc(100% - 260px);
    }
}

/* =========================================================
   CONFRONTA — HOME v1.6
   Busca superior normalizada + estado visível das camadas.
   ========================================================= */
.cf-shell-v15 .client-topbar {
    min-height: 52px !important;
    height: 52px !important;
    padding: 5px 12px !important;
    background: #ffffff !important;
}

.cf-shell-v15 .client-rail {
    inset: 52px auto 0 0 !important;
    height: calc(100vh - 52px) !important;
}

.cf-shell-v15 .client-content-app {
    height: calc(100vh - 52px) !important;
}

.cf-shell-v15 .client-topbar-query-area {
    position: relative;
    z-index: 3;
    pointer-events: auto !important;
}

.cf-shell-v15 .top-query-cluster-slim {
    width: min(630px, calc(100vw - 250px)) !important;
    gap: 8px !important;
    position: relative;
    z-index: 4;
    pointer-events: auto !important;
}

.cf-shell-v15 .top-query-cluster-slim .new-query-button {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 15px !important;
    border: 1px solid #26723c !important;
    border-radius: 8px !important;
    background: #1f5a2e !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: 0 3px 10px rgba(31,90,46,.16) !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.cf-shell-v15 .top-query-cluster-slim .new-query-button:hover {
    background: #194a27 !important;
}

.cf-shell-v15 form.topbar-car-search,
.cf-shell-v15 .topbar-car-search.client-global-search,
.cf-shell-v15 .topbar-car-search.cf-global-search {
    width: 420px !important;
    height: 38px !important;
    min-height: 38px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 42px !important;
    gap: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 4 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ccd9d4 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 2px 7px rgba(11,45,60,.07) !important;
    pointer-events: auto !important;
}

.cf-shell-v15 .topbar-car-search .client-global-search-field,
.cf-shell-v15 .topbar-car-search .cf-global-search-field {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 10px 0 12px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    background-image: none !important;
    color: #253d45 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
}

.cf-shell-v15 .topbar-car-search .client-global-search-field > svg,
.cf-shell-v15 .topbar-car-search .cf-global-search-field > svg {
    width: 17px !important;
    height: 17px !important;
    stroke: #557078 !important;
    opacity: 1 !important;
}

.cf-shell-v15 .topbar-car-search input[type="text"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    background: #fff !important;
    background-image: none !important;
    color: #243b43 !important;
    -webkit-text-fill-color: #243b43 !important;
    caret-color: #1f5a2e !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    pointer-events: auto !important;
    user-select: text !important;
}

.cf-shell-v15 .topbar-car-search input[type="text"]::placeholder {
    color: #819399 !important;
    -webkit-text-fill-color: #819399 !important;
    opacity: 1 !important;
}

.cf-shell-v15 .topbar-car-search .client-global-search-submit,
.cf-shell-v15 .topbar-car-search .cf-search-submit {
    width: 42px !important;
    height: 38px !important;
    min-width: 42px !important;
    min-height: 38px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e2e9e6 !important;
    border-radius: 0 !important;
    background: #f8faf9 !important;
    color: #2e5f43 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.cf-shell-v15 .topbar-car-search .client-global-search-submit:hover,
.cf-shell-v15 .topbar-car-search .cf-search-submit:hover {
    background: #eef6f0 !important;
    color: #1f5a2e !important;
}

/* Olho: ativo = verde e nítido; inativo = cinza com traço diagonal. */
.cf-shell-v15 .map-layer-eye svg {
    stroke: #9aa9ae !important;
    opacity: 1 !important;
}

.cf-shell-v15 .map-layer-eye .layer-eye-off-mark {
    display: block;
    stroke: #98a7ac !important;
    stroke-width: 1.8 !important;
}

.cf-shell-v15 .map-layer-eye.is-active {
    color: #2d464e !important;
}

.cf-shell-v15 .map-layer-eye.is-active svg {
    stroke: #1f7a3a !important;
    opacity: 1 !important;
}

.cf-shell-v15 .map-layer-eye.is-active .layer-eye-off-mark {
    display: none;
}

.cf-shell-v15 .map-layer-eye:not(.is-active) {
    color: #839398 !important;
}

.cf-shell-v15 .map-layer-eye:not(.is-active) svg {
    stroke: #a4b0b4 !important;
    opacity: .75 !important;
}

@media (max-width: 720px) {
    .cf-shell-v15 .client-topbar {
        min-height: 50px !important;
        height: 50px !important;
    }
    .cf-shell-v15 .client-rail {
        inset: 50px auto 0 0 !important;
        height: calc(100vh - 50px) !important;
    }
    .cf-shell-v15 .client-content-app {
        height: calc(100vh - 50px) !important;
    }
    .cf-shell-v15 .top-query-cluster-slim {
        width: 100% !important;
    }
    .cf-shell-v15 form.topbar-car-search,
    .cf-shell-v15 .topbar-car-search.client-global-search,
    .cf-shell-v15 .topbar-car-search.cf-global-search {
        width: auto !important;
        flex: 1 1 auto !important;
    }
}

/* =========================================================
   CONFRONTA — HOME v1.7
   Topo na identidade visual do rail + menu do usuário visível.
   ========================================================= */
.cf-shell-v15 {
    background: #0B2D3C !important;
}

.cf-shell-v15 .client-topbar {
    background: linear-gradient(180deg, #0B2D3C 0%, #082833 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 3px 14px rgba(4,25,33,.18) !important;
}

/* Mantém a busca clara e legível sobre o topo azul-petróleo. */
.cf-shell-v15 form.topbar-car-search,
.cf-shell-v15 .topbar-car-search.client-global-search,
.cf-shell-v15 .topbar-car-search.cf-global-search {
    border-color: rgba(255,255,255,.16) !important;
    background: #ffffff !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
}

.cf-shell-v15 .top-query-cluster-slim .new-query-button {
    border-color: rgba(116,190,134,.42) !important;
    background: #1F6B36 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
}

.cf-shell-v15 .top-query-cluster-slim .new-query-button:hover {
    background: #18592d !important;
}

/* O popover do usuário precisa sair visualmente do rail sem ser cortado. */
.cf-shell-v15 .client-rail {
    overflow: visible !important;
}

.cf-shell-v15 .client-rail-nav.client-rail-nav-single {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.cf-shell-v15 .client-rail-user-menu {
    position: relative !important;
    overflow: visible !important;
}

.cf-shell-v15 .client-rail-user-popover {
    position: fixed !important;
    z-index: 5000 !important;
    left: 218px !important;
    right: auto !important;
    bottom: 16px !important;
    width: 286px !important;
    overflow: hidden !important;
    border: 1px solid rgba(112,166,184,.26) !important;
    border-radius: 13px !important;
    background: #0B2D3C !important;
    box-shadow: 0 20px 52px rgba(0,0,0,.34) !important;
}

.cf-shell-v15 .client-user-logout-form {
    margin: 0 !important;
    padding: 8px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
}

.cf-shell-v15 .client-user-logout-form button {
    width: 100% !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.045) !important;
    color: #f1f6f7 !important;
    cursor: pointer !important;
    text-align: left !important;
}

.cf-shell-v15 .client-user-logout-form button:hover {
    background: rgba(206,64,64,.16) !important;
    color: #ffb9b9 !important;
}

.cf-shell-v15 .client-user-logout-form button svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
}

@media (max-width: 720px) {
    .cf-shell-v15 .client-rail-user-popover {
        left: 70px !important;
        bottom: 10px !important;
        width: min(286px, calc(100vw - 82px)) !important;
    }
}

/* =========================================================
   CONFRONTA v1.8 — Medir Distância
   Linha aberta, leitura em metros e resultado persistente no mapa.
   ========================================================= */
.distance-measure-hud {
    position: absolute;
    z-index: 1850;
    left: 50%;
    bottom: 118px;
    width: min(620px, calc(100% - 56px));
    transform: translateX(-50%);
    min-height: 64px;
    padding: 10px 12px 10px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 11px;
    background: rgba(8,40,51,.96);
    color: #fff;
    box-shadow: 0 14px 38px rgba(0,0,0,.28);
    backdrop-filter: blur(8px);
}

.distance-measure-hud[hidden] { display: none !important; }

.distance-measure-copy {
    min-width: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: baseline;
    gap: 2px 12px;
}

.distance-measure-copy small {
    grid-column: 1;
    grid-row: 1;
    color: #a9c6cf;
    font-size: 9.5px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.distance-measure-copy strong {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: #67e6a0;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.distance-measure-copy span {
    grid-column: 1;
    grid-row: 2;
    color: #d2e0e4;
    font-size: 10px;
    white-space: nowrap;
}

.distance-measure-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
}

.distance-measure-actions button {
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 7px;
    background: rgba(255,255,255,.055);
    color: #eef5f6;
    cursor: pointer;
    font-size: 10px;
    font-weight: 500;
}

.distance-measure-actions button:hover:not(:disabled) {
    background: rgba(255,255,255,.11);
}

.distance-measure-actions button:disabled {
    opacity: .38;
    cursor: default;
}

.distance-measure-actions button.is-primary {
    border-color: rgba(80,200,116,.42);
    background: #1f6b36;
}

.distance-measure-actions button.is-danger {
    width: 34px;
    padding: 0;
    border-color: rgba(224,93,93,.25);
    color: #ffb7b7;
}

.distance-measure-label {
    padding: 4px 8px !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 7px !important;
    background: rgba(8,40,51,.94) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.22) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.distance-measure-label::before { display: none !important; }

body.is-measuring-distance .leaflet-container { cursor: crosshair !important; }

@media (max-width: 900px) {
    .distance-measure-hud {
        bottom: 96px;
        width: min(580px, calc(100% - 28px));
        flex-direction: column;
        align-items: stretch;
    }
    .distance-measure-actions { justify-content: flex-end; flex-wrap: wrap; }
}

/* =========================================================
   CONFRONTA — V1.9 ajuste visual do relatório
   ========================================================= */
.cf-shell-v15 .territorial-report-view {
    padding: 18px;
    background: #f3f6f5;
}

.cf-shell-v15 .territorial-report-view .report-head {
    margin-bottom: 14px;
    padding: 4px 4px 2px;
    align-items: center;
}

.cf-shell-v15 .territorial-report-view .report-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cf-shell-v15 .territorial-report-view .report-head .eyebrow {
    color: #4d9b6c;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cf-shell-v15 .territorial-report-view .report-head h2 {
    margin-top: 4px;
    color: #18343f;
    font-size: 21px;
    font-weight: 600;
}

.cf-shell-v15 .territorial-report-view .report-section {
    margin-bottom: 14px;
    padding: 18px;
    border: 1px solid #dde5e2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(12, 39, 52, .045);
}

.cf-shell-v15 .territorial-report-view .report-section h3 {
    margin: 0 0 14px;
    color: #18343f;
    font-size: 15px;
    font-weight: 600;
}

.cf-shell-v15 .territorial-report-view .report-data {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cf-shell-v15 .territorial-report-view .report-data > div {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f7faf8;
    border: 1px solid #edf2ef;
}

.cf-shell-v15 .territorial-report-view .report-data dt {
    color: #73858b;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.cf-shell-v15 .territorial-report-view .report-data dd {
    margin: 6px 0 0;
    color: #18343f;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.cf-shell-v15 .territorial-report-view .report-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.cf-shell-v15 .territorial-report-view .report-list > div {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 12px;
    background: #f7faf8;
    border: 1px solid #edf2ef;
}

.cf-shell-v15 .territorial-report-view .report-list span {
    color: #48606a;
    font-size: 12px;
    font-weight: 500;
}

.cf-shell-v15 .territorial-report-view .report-list strong {
    color: #18343f;
    font-size: 12px;
    font-weight: 700;
}

.cf-shell-v15 .territorial-report-view .report-restriction-summary {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #f3ddb4;
    background: linear-gradient(180deg, #fff9ee 0%, #fff5e5 100%);
}

.cf-shell-v15 .territorial-report-view .report-restriction-summary strong {
    color: #8d5f0b;
    font-size: 14px;
}

.cf-shell-v15 .territorial-report-view .report-restriction-summary span {
    margin-top: 5px;
    color: #6b7378;
    font-size: 12px;
}

.cf-shell-v15 .territorial-report-view .report-analysis-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.cf-shell-v15 .territorial-report-view .report-analysis-card {
    padding: 16px;
    border-width: 1px;
    border-left-width: 4px;
    border-radius: 14px;
    background: #fff;
}

.cf-shell-v15 .territorial-report-view .report-analysis-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.cf-shell-v15 .territorial-report-view .report-analysis-head strong {
    color: #17323d;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
}

.cf-shell-v15 .territorial-report-view .report-analysis-head span {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: #edf3ef;
    color: #35535e;
    font-size: 11px;
    font-weight: 700;
}

.cf-shell-v15 .territorial-report-view .report-analysis-card.state-alerta .report-analysis-head span,
.cf-shell-v15 .territorial-report-view .report-analysis-card.state-atencao .report-analysis-head span {
    background: #fff3df;
    color: #996000;
}

.cf-shell-v15 .territorial-report-view .report-analysis-message {
    margin: 0 0 12px;
    color: #4b636d;
    font-size: 13px;
    line-height: 1.6;
}

.cf-shell-v15 .territorial-report-view .report-fact-stack {
    display: grid;
    gap: 8px;
    margin-bottom: 4px;
}

.cf-shell-v15 .territorial-report-view .report-fact-row {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f7faf8;
    border: 1px solid #edf2ef;
}

.cf-shell-v15 .territorial-report-view .report-fact-row span {
    color: #60747b;
    font-size: 12px;
    font-weight: 500;
}

.cf-shell-v15 .territorial-report-view .report-fact-row strong {
    color: #17323d;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.cf-shell-v15 .territorial-report-view .report-caution {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #f2dfb1;
    background: #fff8e8;
    color: #82590f !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.cf-shell-v15 .territorial-report-view .report-analysis-details {
    margin-top: 12px;
    border-top: 1px solid #ecf1ef;
    padding-top: 12px;
}

.cf-shell-v15 .territorial-report-view .report-analysis-details summary {
    color: #0f5d72;
    font-size: 12px;
    font-weight: 700;
}

.cf-shell-v15 .territorial-report-view .report-record-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 12px;
}

.cf-shell-v15 .territorial-report-view .report-record-card {
    padding: 10px 0;
    border: 1px solid #e3eae7;
    border-radius: 12px;
    background: #fbfcfc;
}

.cf-shell-v15 .territorial-report-view .report-record-card > div {
    display: grid;
    grid-template-columns: minmax(170px, 250px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 11px 14px;
    border-bottom: 1px solid #edf1f0;
}

.cf-shell-v15 .territorial-report-view .report-record-card > div:last-child {
    border-bottom: 0;
}

.cf-shell-v15 .territorial-report-view .report-record-card dt {
    color: #6d8188;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.45;
}

.cf-shell-v15 .territorial-report-view .report-record-card dd {
    margin: 0;
    color: #16323d;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.cf-shell-v15 .territorial-report-view .report-map-preview {
    min-height: 320px;
    border-radius: 14px;
}

.cf-shell-v15 .territorial-report-view .report-map-note,
.cf-shell-v15 .territorial-report-view .muted {
    color: #708289;
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 1040px) {
    .cf-shell-v15 .territorial-report-view .report-data,
    .cf-shell-v15 .territorial-report-view .report-list {
        grid-template-columns: 1fr;
    }

    .cf-shell-v15 .territorial-report-view .report-fact-row,
    .cf-shell-v15 .territorial-report-view .report-record-card > div {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* =========================================================
   CONFRONTA — V2.0 RELATÓRIO PREMIUM / GEOTECNOLOGIA
   Referência visual aprovada em 2026-08-29
   ========================================================= */
@media screen {
    .cf-shell-v15 .territorial-side-panel.is-report-mode {
        width: min(1080px, calc(100% - 28px));
        background: #f4f7f6;
        border-color: #dbe5e1;
        border-radius: 18px;
        box-shadow: 0 26px 76px rgba(3, 25, 34, .27);
        overflow: hidden;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-maximized {
        top: 10px;
        right: 10px;
        bottom: 10px;
        left: auto;
        width: min(1280px, calc(100% - 20px));
        max-width: none;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-drawer-head {
        min-height: 78px;
        padding: 14px 18px;
        border-bottom: 1px solid #e5ece9;
        background: rgba(255,255,255,.98);
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-drawer-title {
        position: relative;
        min-height: 48px;
        padding-left: 58px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-drawer-title::before {
        content: "▤";
        position: absolute;
        left: 0;
        top: 50%;
        width: 44px;
        height: 44px;
        transform: translateY(-50%);
        display: grid;
        place-items: center;
        border-radius: 10px;
        background: linear-gradient(180deg, #0d4b5b 0%, #083847 100%);
        color: #fff;
        box-shadow: 0 8px 18px rgba(7, 57, 70, .16);
        font-size: 23px;
        font-weight: 400;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-drawer-title span {
        color: #5f9c75;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-drawer-title strong {
        margin-top: 2px;
        color: #17323d;
        font-size: 17px;
        font-weight: 600;
        letter-spacing: -.01em;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-close {
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #4a6068;
        font-size: 26px;
        font-weight: 300;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-tool-close:hover {
        background: #f1f5f3;
        color: #17323d;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-side-body {
        padding: 20px 22px 34px;
        background: #f4f7f6;
    }

    .cf-shell-v15 .territorial-side-panel.is-report-mode .territorial-report-view,
    .cf-shell-v15 .territorial-side-panel.is-report-maximized .territorial-report-view {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .cf-shell-v15 .territorial-report-view .report-head {
        margin: 0 0 16px;
        padding: 0 2px;
    }

    .cf-shell-v15 .territorial-report-view .report-head > div:first-child {
        display: none;
    }

    .cf-shell-v15 .territorial-report-view .report-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .cf-shell-v15 .territorial-report-view .report-actions .button {
        min-height: 36px;
        border-radius: 9px;
        border-color: #d7e1dd;
        background: #fff;
        color: #34515b;
        font-size: 10.5px;
        font-weight: 600;
        box-shadow: 0 4px 12px rgba(9,39,49,.04);
    }

    .cf-shell-v15 .territorial-report-view .report-section {
        margin: 0 0 14px;
        padding: 18px;
        border: 1px solid #dfe7e4;
        border-radius: 15px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(11,45,60,.035);
    }

    .cf-shell-v15 .territorial-report-view .report-section h3 {
        margin: 0 0 14px;
        color: #18343f;
        font-size: 15px;
        font-weight: 600;
    }

    .cf-shell-v15 .territorial-report-view .report-analysis-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-card {
        position: relative;
        padding: 20px 22px 22px;
        border: 1px solid #dce6e2;
        border-left: 3px solid #7fbf91;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(10, 44, 56, .04);
    }

    .cf-shell-v15 .territorial-report-view .report-intel-card.state-alerta,
    .cf-shell-v15 .territorial-report-view .report-intel-card.state-atencao {
        border-left-color: #42ad63;
        background: #fff;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-card.state-ok {
        border-left-color: #58b776;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-card.state-nao_verificado {
        border-left-color: #c5cfcb;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-head {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 14px;
        align-items: center;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-icon {
        width: 52px;
        height: 52px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: #edf8f0;
        color: #2ca34e;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-icon svg {
        width: 29px;
        height: 29px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-card.state-nao_verificado .report-intel-icon {
        background: #f0f2f2;
        color: #5f6d72;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-title {
        min-width: 0;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-title strong {
        display: block;
        color: #162f3a;
        font-size: 17px;
        font-weight: 650;
        line-height: 1.3;
    }

    .cf-shell-v15 .territorial-report-view .report-intel-title p {
        margin: 5px 0 0;
        color: #536a73;
        font-size: 12.5px;
        line-height: 1.5;
    }

    .cf-shell-v15 .territorial-report-view .report-status-badge {
        min-width: 112px;
        padding: 7px 11px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        border: 1px solid #c9e7d1;
        border-radius: 8px;
        background: #eaf8ed;
        color: #209242;
        font-size: 11px;
        font-weight: 700;
        white-space: nowrap;
    }

    .cf-shell-v15 .territorial-report-view .report-status-badge.state-nao_verificado,
    .cf-shell-v15 .territorial-report-view .report-status-badge.state-ok {
        border-color: #d7dedd;
        background: #f1f3f3;
        color: #566970;
    }

    .cf-shell-v15 .territorial-report-view .report-fact-stack {
        margin: 16px 0 0 66px;
        display: grid;
        gap: 0;
        overflow: hidden;
        border: 1px solid #e2e9e6;
        border-radius: 11px;
        background: #fbfcfc;
    }

    .cf-shell-v15 .territorial-report-view .report-fact-row {
        display: grid;
        grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
        gap: 18px;
        align-items: start;
        padding: 11px 14px;
        border: 0;
        border-bottom: 1px solid #e8edeb;
        border-radius: 0;
        background: transparent;
    }

    .cf-shell-v15 .territorial-report-view .report-fact-row:last-child {
        border-bottom: 0;
    }

    .cf-shell-v15 .territorial-report-view .report-fact-row span {
        color: #4f6872;
        font-size: 11.5px;
        font-weight: 600;
    }

    .cf-shell-v15 .territorial-report-view .report-fact-row strong {
        min-width: 0;
        color: #17323d;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.5;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .cf-shell-v15 .territorial-report-view .report-record-grid,
    .cf-shell-v15 .territorial-report-view .report-record-grid-open {
        margin: 16px 0 0 66px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cf-shell-v15 .territorial-report-view .report-record-card {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        display: block;
        overflow: hidden;
        border: 1px solid #dfe7e4;
        border-radius: 11px;
        background: #fbfcfc;
        box-shadow: none;
    }

    .cf-shell-v15 .territorial-report-view .report-record-card > div {
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
        gap: 18px;
        align-items: start;
        padding: 11px 14px;
        border-bottom: 1px solid #e7ecea;
    }

    .cf-shell-v15 .territorial-report-view .report-record-card > div:last-child {
        border-bottom: 0;
    }

    .cf-shell-v15 .territorial-report-view .report-record-card dt {
        min-width: 0;
        color: #4f6872;
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1.45;
        word-break: normal;
        overflow-wrap: normal;
    }

    .cf-shell-v15 .territorial-report-view .report-record-card dd {
        min-width: 0;
        margin: 0;
        color: #17323d;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.5;
        word-break: normal;
        overflow-wrap: break-word;
        white-space: normal;
        font-variant-numeric: tabular-nums;
    }

    .cf-shell-v15 .territorial-report-view .report-caution {
        margin: 14px 0 0 66px;
    }

    .cf-shell-v15 .territorial-report-view .report-data {
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 10px;
    }

    .cf-shell-v15 .territorial-report-view .report-data > div,
    .cf-shell-v15 .territorial-report-view .report-list > div {
        min-width: 0;
    }

    .cf-shell-v15 .territorial-report-view .report-data dd {
        word-break: normal;
        overflow-wrap: break-word;
    }

    .cf-shell-v15 .territorial-report-view .report-map-preview {
        min-height: 360px;
    }

    @media (max-width: 980px) {
        .cf-shell-v15 .territorial-side-panel.is-report-mode {
            width: calc(100% - 18px);
        }

        .cf-shell-v15 .territorial-report-view .report-intel-head {
            grid-template-columns: 46px minmax(0,1fr);
        }

        .cf-shell-v15 .territorial-report-view .report-intel-icon {
            width: 46px;
            height: 46px;
        }

        .cf-shell-v15 .territorial-report-view .report-status-badge {
            grid-column: 2;
            justify-self: start;
        }

        .cf-shell-v15 .territorial-report-view .report-fact-stack,
        .cf-shell-v15 .territorial-report-view .report-record-grid,
        .cf-shell-v15 .territorial-report-view .report-record-grid-open,
        .cf-shell-v15 .territorial-report-view .report-caution {
            margin-left: 0;
        }
    }

    @media (max-width: 720px) {
        .cf-shell-v15 .territorial-report-view .report-record-card > div,
        .cf-shell-v15 .territorial-report-view .report-fact-row {
            grid-template-columns: 1fr;
            gap: 5px;
        }

        .cf-shell-v15 .territorial-report-view .report-data,
        .cf-shell-v15 .territorial-report-view .report-list {
            grid-template-columns: 1fr;
        }
    }
}

/* V3.4 — camada SICOR / Crédito Rural */
.layer-color-ext-sicor { background: #3b82f6; }

/* CONFRONTA V0.6.2 — pós-pagamento e resumo premium da assinatura */
.billing-result-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:4px;
}
.billing-result-actions .cf-auth-submit{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:0;
    text-align:center;
}
.billing-result-actions .billing-subscription-action{
    background:#fff;
    color:#0b2d3c;
    border:1px solid #cbdad6;
}
.billing-result-actions .billing-workspace-action{
    background:#0b2d3c;
    color:#fff;
    border:1px solid #0b2d3c;
}
.billing-result-actions [hidden]{display:none!important}
.current-subscription-card{
    margin:0 0 24px;
    overflow:hidden;
    border:1px solid rgba(79,163,106,.38);
    border-radius:18px;
    background:linear-gradient(135deg,#f8fcf9 0%,#eef8f2 100%);
    box-shadow:0 18px 44px rgba(11,45,60,.10);
}
.current-subscription-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px 18px;
    border-bottom:1px solid rgba(79,163,106,.18);
}
.current-subscription-head h2{margin:5px 0 5px;color:#0b2d3c;font-size:24px}
.current-subscription-head p{margin:0;color:#64747a;font-size:12px}
.current-subscription-status{
    flex:0 0 auto;padding:8px 12px;border:1px solid #c9d7d2;border-radius:999px;
    background:#fff;color:#40545b;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em
}
.current-subscription-status.is-active{border-color:#9fd2ad;background:#e8f7ec;color:#215b31}
.current-subscription-status.is-warning{border-color:#ead08b;background:#fff8e5;color:#815e11}
.current-subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(79,163,106,.15)}
.current-subscription-grid>div{min-width:0;padding:16px 20px;background:rgba(255,255,255,.86)}
.current-subscription-grid span{display:block;margin-bottom:5px;color:#738279;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.current-subscription-grid strong{display:block;color:#183c31;font-size:13px;overflow-wrap:anywhere}
.current-subscription-warning{padding:12px 20px;border-top:1px solid #ead08b;background:#fff8e5;color:#815e11;font-size:11px}
@media(max-width:760px){
    .billing-result-actions{grid-template-columns:1fr}
    .current-subscription-head{flex-direction:column}
    .current-subscription-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.current-subscription-grid{grid-template-columns:1fr}}
