/* ==========================================================================
   Terrá · SUM — início, identificação e mapa de disponibilidade
   ========================================================================== */

.entrada select { appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 9L2 4h8z' fill='%23ff9800'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px; color: inherit; }
.entrada select option { color: #000; }

/* Formulários dentro do modal (fundo branco) */
.modal .entrada input, .modal .entrada select, .modal textarea.ctrl { border-color: rgba(0, 0, 0, 0.22); background-color: var(--branco); color: var(--preto); font-size: 16px; min-height: 50px; }
.modal .entrada input::placeholder { color: rgba(0, 0, 0, 0.4); }
.modal .entrada input:focus, .modal .entrada select:focus, .modal textarea.ctrl:focus { outline: none; border-color: var(--laranja); box-shadow: 0 0 0 4px rgba(255, 152, 0, 0.2); }
.modal .campo .ajuda { color: rgba(0, 0, 0, 0.62); }
.modal .kicker { color: var(--laranja-escuro); }
.modal .kicker::before { border-top-color: var(--laranja-escuro); }
.sub-modal { margin: 0 0 18px; color: rgba(0, 0, 0, 0.7); }
.modal-conta { display: grid; }
.troca-perfil { justify-self: center; margin-top: 18px; color: var(--laranja-escuro); }
.termos-txt { font-size: 14px; line-height: 1.65; margin-top: 12px; }

.form-conta { display: grid; gap: 16px; }
.form-conta form { display: grid; gap: 16px; }
.form-conta form[hidden] { display: none; }
.form-conta .segmentado { margin-bottom: 4px; }
.segmentado label { position: relative; cursor: pointer; }
.segmentado label input { position: absolute; opacity: 0; }
.segmentado label span { display: grid; place-items: center; text-align: center; min-height: 48px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--linha-media); font-family: var(--f-head); font-weight: 700; font-size: 14px; line-height: 1.25; transition: border-color .2s, background .2s; }
.segmentado label input:checked + span { border-color: var(--laranja); background: rgba(255, 152, 0, 0.12); box-shadow: inset 0 0 0 1px var(--laranja); }
.segmentado label input:focus-visible + span { outline: 2px solid var(--laranja); outline-offset: 2px; }
.modal .segmentado label span { border-color: rgba(0, 0, 0, 0.2); }
.form-erro { color: var(--vermelho); font-size: 14px; font-weight: 600; margin: 0; min-height: 0; }
.form-erro:empty { display: none; }
.modal .form-erro { color: #c20000; }

.aceite-linha { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; cursor: pointer; font-size: 14px; line-height: 1.5; }
.aceite-linha input { position: absolute; opacity: 0; }
.aceite-linha .cx { width: 26px; height: 26px; border-radius: 7px; border: 1.5px solid currentColor; display: grid; place-items: center; transition: background .2s, border-color .2s; }
.aceite-linha .cx svg { width: 15px; height: 15px; opacity: 0; color: var(--preto); }
.aceite-linha input:checked + .cx { background: var(--laranja); border-color: var(--laranja); }
.aceite-linha input:checked + .cx svg { opacity: 1; }
.aceite-linha input:focus-visible + .cx { outline: 2px solid var(--laranja); outline-offset: 2px; }
.aceite-linha .btn-link { font-size: inherit; }
.modal .aceite-linha .btn-link { color: var(--laranja-escuro); }

.ok-bloco { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 18px; border-radius: var(--raio); border: 1px solid var(--laranja); }
.ok-bloco > svg { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--laranja); color: var(--preto); }
.ok-bloco b { font-family: var(--f-head); font-size: 16px; }
.ok-bloco p { margin: 4px 0 0; font-size: 14px; }

/* ---------------------------------------------------------------- INÍCIO */
.porta { position: relative; min-height: calc(100svh - 64px); overflow: hidden; display: flex; flex-direction: column; }
.porta > .wrap { flex: 1; align-content: start; }
.porta .rodape a { color: rgba(255, 255, 255, 0.6); }
.porta .rodape span { color: rgba(255, 255, 255, 0.45); }
.porta > .wrap { position: relative; z-index: 1; padding-top: 48px; padding-bottom: 64px; display: grid; gap: 36px; }
@media (min-width: 960px) { .porta > .wrap { padding-top: 72px; } }
.porta h1 { font-size: clamp(36px, 8vw, 72px); }
.porta h1 .laranja { color: var(--laranja); }
.escolhas { display: grid; gap: 12px; max-width: 980px; }
@media (min-width: 760px) { .escolhas { grid-template-columns: repeat(3, 1fr); } }
.escolha { position: relative; display: grid; gap: 10px; align-content: start; text-align: left; padding: 24px 22px 22px; border-radius: var(--raio-lg); border: 1px solid var(--linha-media); background: rgba(255, 255, 255, 0.02); color: inherit; text-decoration: none; transition: border-color .2s, background .2s, transform .2s var(--ease); min-height: 150px; }
.escolha:hover { border-color: var(--laranja); background: rgba(255, 152, 0, 0.06); transform: translateY(-2px); }
.escolha:focus-visible { outline: 2px solid var(--laranja); outline-offset: 3px; }
.escolha .tri { width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 13px solid var(--laranja); }
.escolha b { font-family: var(--f-display); font-weight: 400; font-size: 20px; text-transform: uppercase; line-height: 1.1; }
.escolha span { font-size: 14px; font-weight: 300; line-height: 1.5; }
.escolha .seta-canto { position: absolute; right: 20px; top: 22px; width: 22px; height: 22px; color: var(--laranja); }
.passo-conta { max-width: 520px; display: grid; gap: 22px; }
.passo-conta .voltar-link { justify-self: start; display: inline-flex; gap: 8px; align-items: center; background: none; border: 0; color: inherit; font-family: var(--f-head); font-weight: 600; font-size: 14px; padding: 0; }
.passo-conta .voltar-link svg { width: 16px; height: 16px; }
.passo-conta h2 { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: clamp(24px, 5vw, 34px); margin: 0; line-height: 1.05; }

.menu-ferr { display: grid; gap: 14px; max-width: 980px; }
@media (min-width: 760px) { .menu-ferr { grid-template-columns: repeat(2, 1fr); } }
.ferr { position: relative; display: grid; gap: 12px; align-content: start; padding: 26px 24px; border-radius: var(--raio-lg); background: var(--branco); color: var(--preto); text-decoration: none; min-height: 190px; transition: transform .2s var(--ease), box-shadow .2s; }
.ferr:hover { transform: translateY(-3px); box-shadow: 0 18px 50px -20px rgba(255, 152, 0, 0.7); }
.ferr .kicker { color: var(--laranja-escuro); margin: 0; }
.ferr .kicker::before { border-top-color: var(--laranja-escuro); }
.ferr b { font-family: var(--f-display); font-weight: 400; font-size: clamp(22px, 3vw, 28px); text-transform: uppercase; line-height: 1.05; }
.ferr span { font-size: 14.5px; line-height: 1.5; color: rgba(0, 0, 0, 0.72); }
.ferr .ir { position: absolute; right: 22px; bottom: 22px; width: 44px; height: 44px; border-radius: 50%; background: var(--preto); color: var(--laranja); display: grid; place-items: center; }
.ferr .ir svg { width: 20px; height: 20px; }
.ferr.escura { background: transparent; color: var(--branco); border: 1px solid var(--linha-media); }
.ferr.escura span { color: rgba(255, 255, 255, 0.75); }
.ferr.escura .kicker { color: var(--laranja); }
.ferr.escura .kicker::before { border-top-color: var(--laranja); }

.meu-link { display: grid; gap: 12px; padding: 22px 24px; border-radius: var(--raio-lg); border: 1px dashed var(--laranja); max-width: 980px; }
.meu-link .url { font-family: var(--f-head); font-weight: 700; font-size: 17px; word-break: break-all; }
.meu-link .acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.saudacao { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; max-width: 980px; }
.saudacao p { margin: 0; color: rgba(255, 255, 255, 0.75); }

.minhas { max-width: 980px; display: grid; gap: 10px; }
.minhas h2 { font-family: var(--f-head); font-weight: 800; font-size: 18px; margin: 10px 0 4px; }
.prop-item { display: grid; gap: 4px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--linha); }
.prop-item b { font-family: var(--f-head); }
.prop-item .meta { font-size: 13px; color: rgba(255, 255, 255, 0.7); }
.prop-item .st { justify-self: start; font-family: var(--f-head); font-weight: 700; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--linha-media); }
.prop-item .st.aprovada { background: var(--laranja); color: var(--preto); border-color: var(--laranja); }
.prop-item .st.recusada { border-color: var(--vermelho); color: #ff8a8a; }

/* ---------------------------------------------------------------- MAPA */
body.mapa-pg { overflow: hidden; height: 100svh; overscroll-behavior: none; }
.mapa-app { position: fixed; inset: 0; display: grid; grid-template-rows: auto auto 1fr; background: #111; }
.mapa-topo { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--preto); border-bottom: 1px solid var(--linha); }
.mapa-topo .marca { display: flex; align-items: center; gap: 10px; text-decoration: none; margin-right: auto; color: inherit; background: none; border: 0; padding: 0; }
.mapa-topo .marca img { height: 30px; width: auto; }
.mapa-topo .marca span { font-family: var(--f-display); font-size: 15px; letter-spacing: .04em; }
.troca-cond { display: flex; gap: 4px; padding: 3px; border-radius: 999px; border: 1px solid var(--linha-media); }
.troca-cond button { min-height: 36px; padding: 0 14px; border-radius: 999px; border: 0; background: transparent; font-family: var(--f-head); font-weight: 800; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: inherit; }
.troca-cond button[aria-pressed="true"] { background: var(--branco); color: var(--preto); }
.mapa-topo .nav-btn { height: 40px; }
.filtros { display: flex; gap: 6px; padding: 8px 12px; overflow-x: auto; scrollbar-width: none; background: var(--preto); border-bottom: 1px solid var(--linha); }
.filtros::-webkit-scrollbar { display: none; }
.filtros button { flex: none; min-height: 34px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--linha-media); background: transparent; color: inherit; font-family: var(--f-head); font-weight: 600; font-size: 12.5px; white-space: nowrap; }
.filtros button[aria-pressed="true"] { background: var(--laranja); border-color: var(--laranja); color: var(--preto); }
.filtros .tri-mini { display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 7px solid currentColor; margin-right: 6px; vertical-align: 1px; }

.palco { position: relative; overflow: hidden; touch-action: none; cursor: grab; background: #fff; }
.palco.arrastando { cursor: grabbing; }
.tela-mapa { position: absolute; left: 0; top: 0; transform-origin: 0 0; will-change: transform; }
.tela-mapa img { position: absolute; left: 0; top: 0; user-select: none; -webkit-user-drag: none; pointer-events: none; }
.tela-mapa img.hi { opacity: 0; transition: opacity .4s; }
.tela-mapa img.hi.pronta { opacity: 1; }
.tela-mapa svg { position: absolute; left: 0; top: 0; overflow: visible; }
.lote { stroke: rgba(255, 255, 255, 0.75); stroke-width: 3; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.lote.vendido { fill: rgba(150, 18, 18, 0.985); }
.lote.disp { fill: rgba(168, 230, 138, 0.985); cursor: pointer; }
.lote.disp:hover { fill: rgba(190, 242, 165, 0.97); }
.lote.apagado { fill: rgba(222, 232, 216, 0.97); cursor: pointer; }
.lote.sel { stroke: var(--laranja); stroke-width: 5; }
.rot { pointer-events: none; font-family: 'Montserrat', sans-serif; text-anchor: middle; }
.rot .n { font-weight: 700; }
.rot .a { font-weight: 500; }
.rot.vendido { fill: #fff; }
.rot.disp { fill: #000; }
.rot.apagado { fill: rgba(0, 0, 0, 0.62); }
.selo-q { pointer-events: none; }
.selo-q circle { fill: #5b5b5f; }
.selo-q text { fill: #fff; font-family: 'Montserrat', sans-serif; font-weight: 700; text-anchor: middle; }
.marca-ter { pointer-events: none; fill: var(--laranja); }

.ctrl-zoom { position: absolute; right: 12px; top: 12px; display: grid; gap: 6px; z-index: 3; }
.ctrl-zoom button { width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(0, 0, 0, 0.78); color: #fff; display: grid; place-items: center; font-size: 22px; font-weight: 600; line-height: 1; }
.ctrl-zoom button svg { width: 20px; height: 20px; }
.ctrl-zoom button:hover { background: #000; border-color: var(--laranja); }
.legenda-mapa { position: absolute; left: 12px; bottom: 12px; z-index: 3; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; padding: 8px 12px; border-radius: 14px; background: rgba(0, 0, 0, 0.8); font-size: 11.5px; max-width: calc(100% - 24px); }
.legenda-mapa i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.legenda-mapa .tab { color: rgba(255, 255, 255, 0.65); }
.carregando-mapa { position: absolute; inset: 0; display: grid; place-items: center; z-index: 4; font-family: var(--f-head); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; color: rgba(0, 0, 0, 0.55); pointer-events: none; }
.carregando-mapa[hidden] { display: none; }
.dica-zoom { position: absolute; left: 50%; bottom: 64px; transform: translateX(-50%); z-index: 3; background: rgba(0, 0, 0, 0.82); padding: 8px 14px; border-radius: 999px; font-size: 12.5px; font-family: var(--f-head); font-weight: 600; white-space: nowrap; transition: opacity .4s; }
.dica-zoom.some { opacity: 0; pointer-events: none; }
.dica-zoom { max-width: calc(100% - 24px); white-space: normal; text-align: center; color: #fff; }

/* Folha do lote: sobe por baixo no celular, fica ao lado no computador */
.folha-lote { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: var(--branco); color: var(--preto); border-radius: 22px 22px 0 0; box-shadow: 0 -16px 50px rgba(0, 0, 0, 0.55); max-height: 86svh; display: flex; flex-direction: column; transform: translateY(105%); transition: transform .35s var(--ease); }
.folha-lote.aberta { transform: none; }
.folha-lote:not(.aberta) { visibility: hidden; transition: transform .35s var(--ease), visibility 0s .35s; }
@media (min-width: 900px) {
  .folha-lote { left: auto; top: 65px; width: 420px; max-height: none; border-radius: 0; transform: translateX(105%); box-shadow: -16px 0 50px rgba(0, 0, 0, 0.5); }
  .folha-lote.aberta { transform: none; }
}
.folha-alca { width: 44px; height: 5px; border-radius: 3px; background: rgba(0, 0, 0, 0.15); margin: 10px auto 0; flex: none; }
@media (min-width: 900px) { .folha-alca { display: none; } }
.folha-cab { display: flex; align-items: center; gap: 10px; padding: 12px 18px 0; flex: none; }
.folha-cab .voltar, .folha-cab .fechar { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--linha-escura); background: var(--branco); display: grid; place-items: center; flex: none; }
.folha-cab .voltar svg, .folha-cab .fechar svg { width: 18px; height: 18px; }
.folha-cab .fechar { margin-left: auto; }
.folha-corpo { padding: 12px 22px calc(24px + env(safe-area-inset-bottom)); overflow-y: auto; display: grid; gap: 16px; align-content: start; }
.folha-corpo .kicker { color: var(--laranja-escuro); margin: 0; }
.folha-corpo .kicker::before { border-top-color: var(--laranja-escuro); }
.lote-nome { display: flex; align-items: center; gap: 10px; margin: 2px 0 0; font-family: var(--f-display); font-weight: 400; font-size: 38px; line-height: 1; text-transform: uppercase; }
.lote-nome.menor { font-size: 26px; }
.ico-ter { width: 13px; height: 11px; flex: none; }
.dados-lote { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-top: 1px solid var(--linha-escura); padding-top: 14px; }
.dados-lote small { display: block; font-size: 12px; color: rgba(0, 0, 0, 0.6); }
.dados-lote b { font-family: var(--f-head); font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums; }
.dica-desc { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: #fff4e5; font-size: 13.5px; }
.dica-desc svg { width: 16px; height: 16px; color: var(--laranja-escuro); flex: none; }
.folha-corpo .btn { min-height: 54px; font-size: 14px; }
.folha-corpo .btn-contorno { color: var(--preto); }
.aviso-claro { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: #444; }
.aviso-claro svg { width: 16px; height: 16px; color: var(--laranja-escuro); flex: none; margin-top: 1px; }
.cadeado { display: grid; gap: 10px; padding: 16px; border-radius: 14px; background: #f5f5f5; }
.cadeado b { font-family: var(--f-head); font-size: 15px; }
.cadeado p { margin: 0; font-size: 13.5px; color: #444; }

.grupo-tit { display: flex; align-items: center; gap: 8px; font-family: var(--f-head); font-weight: 800; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--laranja-escuro); margin: 6px 0 -4px; }
.grupo-tit.cinza { color: rgba(0, 0, 0, 0.55); }
.grupo-tit .t { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 8px solid currentColor; }
.plano { display: grid; gap: 8px; text-align: left; width: 100%; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(0, 0, 0, 0.16); background: var(--branco); color: var(--preto); transition: border-color .2s, box-shadow .2s; }
.plano:hover { border-color: var(--preto); }
.plano.desconto { border-color: rgba(255, 152, 0, 0.55); }
.plano[aria-pressed="true"] { border-color: var(--laranja); box-shadow: inset 0 0 0 1px var(--laranja); background: #fffaf2; }
.plano .l1 { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.plano .l1 b { font-family: var(--f-head); font-weight: 800; font-size: 16px; }
.plano .cond { display: block; font-size: 12.5px; color: rgba(0, 0, 0, 0.65); line-height: 1.45; white-space: pre-line; }
.plano .pct { flex: none; padding: 4px 9px; border-radius: 999px; background: var(--laranja); font-family: var(--f-head); font-weight: 800; font-size: 12px; }
.plano .l2 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(0, 0, 0, 0.08); padding-top: 8px; }
.plano .econ { font-size: 12px; color: var(--laranja-escuro); line-height: 1.4; font-weight: 600; }
.plano .tot { font-family: var(--f-head); font-weight: 800; font-size: 16px; font-variant-numeric: tabular-nums; }
.nota-tab { margin: 0; font-size: 11.5px; line-height: 1.5; color: rgba(0, 0, 0, 0.6); }

.resumo-prop { display: grid; gap: 10px; padding: 18px; border-radius: 16px; background: var(--preto); color: var(--branco); }
.resumo-prop .l { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.resumo-prop .l span { color: rgba(255, 255, 255, 0.7); }
.resumo-prop .l b { font-family: var(--f-head); font-variant-numeric: tabular-nums; text-align: right; }
.resumo-prop .tot { border-top: 1px solid rgba(255, 255, 255, 0.2); padding-top: 10px; }
.resumo-prop .tot b { font-size: 22px; color: var(--laranja); }
.resumo-prop .cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.resumo-prop .cab b { font-family: var(--f-head); font-weight: 800; font-size: 17px; }
.resumo-prop .pct { padding: 4px 9px; border-radius: 999px; background: var(--laranja); color: var(--preto); font-family: var(--f-head); font-weight: 800; font-size: 12px; }
.corretor-linha { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(0, 0, 0, 0.14); }
.corretor-linha .av { width: 40px; height: 40px; border-radius: 50%; background: var(--laranja); display: grid; place-items: center; font-family: var(--f-head); font-weight: 800; flex: none; }
.corretor-linha small { display: block; font-size: 12px; color: rgba(0, 0, 0, 0.6); }
.corretor-linha b { font-family: var(--f-head); }
.corretor-linha .btn-link { margin-left: auto; color: var(--laranja-escuro); font-size: 13px; }
.btn-whats svg { width: 20px; height: 20px; }
.form-pers { display: grid; gap: 14px; }
.form-pers .grade-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-pers .entrada input, .form-pers .entrada select, .form-pers textarea { border: 1px solid rgba(0, 0, 0, 0.22); background: var(--branco); color: var(--preto); font-size: 16px; min-height: 50px; border-radius: 12px; padding: 12px 14px; width: 100%; }
.form-pers textarea { min-height: 84px; font-family: var(--f-body); resize: vertical; }
.form-pers .entrada input:focus, .form-pers .entrada select:focus, .form-pers textarea:focus { outline: none; border-color: var(--laranja); box-shadow: 0 0 0 4px rgba(255, 152, 0, 0.2); }
.form-pers .calc { font-size: 13.5px; padding: 12px 14px; border-radius: 12px; background: #f5f5f5; }
.form-pers .calc b { font-family: var(--f-head); }
.form-pers .entrada .pre { color: rgba(0, 0, 0, 0.55); }
.aviso-analise { display: flex; gap: 10px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--laranja); background: #fff8ee; font-size: 13.5px; line-height: 1.5; }
.aviso-analise svg { width: 18px; height: 18px; color: var(--laranja-escuro); flex: none; margin-top: 1px; }
.aviso-analise b { font-family: var(--f-head); }

.fundo-folha { position: fixed; inset: 0; z-index: 29; background: rgba(0, 0, 0, 0.35); opacity: 0; pointer-events: none; transition: opacity .3s; }
.fundo-folha.on { opacity: 1; pointer-events: auto; }
@media (min-width: 900px) { .fundo-folha { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .folha-lote, .tela-mapa img.hi { transition: none; }
}

/* ---------------------------------------------------------------- PAINEL (abas novas) */
.alertas { display: grid; gap: 8px; margin: 18px 0 4px; }
.alerta { display: flex; align-items: flex-start; gap: 10px; text-align: left; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--linha-escura); background: #fffaf2; color: var(--preto); font-size: 14px; line-height: 1.45; }
.alerta svg { width: 18px; height: 18px; color: var(--laranja-escuro); flex: none; margin-top: 1px; }
.alerta.laranja { background: var(--laranja); border-color: var(--laranja); font-family: var(--f-head); font-weight: 700; }
.alerta.vermelho { border-color: var(--vermelho); background: #fff1f1; }
.alerta.vermelho svg { color: #c20000; }
.desc-prop { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; color: rgba(0, 0, 0, 0.78); }
.desc-prop .btn-link { color: var(--laranja-escuro); font-size: 13px; }
.tabelas-grade { display: grid; gap: 16px; margin-top: 16px; }
@media (min-width: 960px) { .tabelas-grade { grid-template-columns: 1fr 1fr; } }
.tab-card { display: grid; gap: 12px; align-content: start; padding: 20px; border-radius: var(--raio-lg); border: 1px solid var(--linha-escura); background: var(--branco); }
.tab-meta { margin: 0; font-size: 13.5px; color: rgba(0, 0, 0, 0.7); }
.upload-tab { position: relative; display: block; cursor: pointer; }
.upload-tab input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-tab span { display: grid; justify-items: center; gap: 4px; padding: 20px; border-radius: 14px; border: 1.5px dashed rgba(0, 0, 0, 0.3); text-align: center; transition: border-color .2s, background .2s; }
.upload-tab:hover span, .upload-tab input:focus-visible + span { border-color: var(--laranja); background: #fffaf2; }
.upload-tab svg { width: 26px; height: 26px; color: var(--laranja-escuro); }
.upload-tab b { font-family: var(--f-head); }
.upload-tab small { font-size: 12.5px; color: rgba(0, 0, 0, 0.6); }
.previa-caixa { display: grid; gap: 12px; padding: 16px; border-radius: 14px; background: #f6f6f6; }
.previa-caixa p { margin: 0; }
.aviso-tab { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--laranja); background: #fffaf2; font-size: 13.5px; }
.aviso-tab svg { width: 17px; height: 17px; color: var(--laranja-escuro); flex: none; margin-top: 1px; }
.aviso-tab.vermelho { border-color: var(--vermelho); background: #fff1f1; }
.aviso-tab.vermelho svg { color: #c20000; }
.mais-vistos { display: grid; gap: 6px; }
.mais-vistos div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; padding: 8px 0; border-bottom: 1px solid var(--linha-escura); }
.mais-vistos b { font-family: var(--f-head); white-space: nowrap; }
.abas { overflow-x: auto; scrollbar-width: none; }
.form-pers .entrada .pre + input { padding-left: 48px; }

.legenda-mapa .leg-filtro[hidden] { display: none; }
