/* Painel da equipe. Tokens, botões e fontes vêm do base.css do tema. */

.painel {
	--lateral: 256px;
	margin: 0;
	background: var(--menta-50, #f7f7f3);
	color: var(--texto, #16190f);
	font-family: var(--sans, system-ui, sans-serif);
	font-size: .92rem;
}

.painel h1, .painel h2 { font-family: var(--serif); font-weight: 600; letter-spacing: 0; }

/* Só para leitor de tela. */
.painel .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---------- lateral ---------- */
.painel__lateral {
	position: fixed;
	inset-block: 0;
	inset-inline-start: 0;
	z-index: 40;
	display: flex;
	flex-direction: column;
	width: var(--lateral);
	padding: 1.6rem 1rem 1.2rem;
	background: var(--verde-900);
	color: rgba(255, 255, 255, .78);
}

.painel__marca { display: block; padding: 0 .7rem 1.6rem; margin-bottom: 1rem; border-bottom: 1px solid rgba(212, 162, 108, .2); }
.painel__marca span { display: block; font-family: var(--serif); font-size: 1.02rem; letter-spacing: .14em; text-transform: uppercase; color: var(--branco); }
.painel__marca small { display: block; margin-top: .3rem; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--dourado-claro); }

.painel__lateral nav { display: grid; gap: .2rem; }

.painel__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .72rem .8rem;
	border-radius: 9px;
	font-weight: 500;
	transition: background var(--rapido), color var(--rapido);
}

.painel__link:hover { background: rgba(255, 255, 255, .06); color: var(--branco); }
.painel__link.is-atual { background: rgba(212, 162, 108, .14); color: var(--branco); }
.painel__link.is-atual::before { content: ""; position: absolute; inset-block: .55rem; inset-inline-start: -1rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--dourado-claro); }
.painel__link svg { color: var(--dourado-claro); }

.painel__contador {
	margin-inline-start: auto;
	min-width: 20px;
	padding: .05rem .4rem;
	border-radius: 999px;
	background: var(--dourado-claro);
	color: var(--verde-900);
	font-size: .7rem;
	font-style: normal;
	font-weight: 700;
	text-align: center;
}

.painel__pe { margin-top: auto; display: grid; gap: .6rem; padding-top: 1rem; border-top: 1px solid rgba(212, 162, 108, .2); }

.painel__usuario { display: flex; align-items: center; gap: .7rem; padding: .4rem .8rem; }
.painel__usuario strong { display: block; font-size: .84rem; color: var(--branco); }
.painel__usuario a { font-size: .75rem; color: var(--dourado-claro); }

.painel__avatar, .cliente__avatar {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--dourado-claro);
	color: var(--verde-900);
	font-weight: 700;
}

/* ---------- principal ---------- */
.painel__principal { margin-inline-start: var(--lateral); min-height: 100vh; }

.painel__topo {
	position: sticky;
	inset-block-start: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem clamp(1.2rem, 3vw, 2.6rem);
	background: rgba(247, 247, 243, .92);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--borda);
}

.painel__topo h1 { margin: 0; font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem); }
.painel__acoes { margin-inline-start: auto; display: flex; gap: .6rem; }
.painel__abre-menu { display: none; padding: .4rem; border: 0; background: none; color: var(--texto); cursor: pointer; }

.painel__conteudo { padding: 1.8rem clamp(1.2rem, 3vw, 2.6rem) 4rem; max-width: 1400px; }
.painel__conteudo--clientes-quadro { max-width: none; }

.painel__aviso {
	margin: 1.2rem clamp(1.2rem, 3vw, 2.6rem) 0;
	padding: .85rem 1.1rem;
	border-radius: 10px;
	border-inline-start: 3px solid var(--verde-600);
	background: #e8efe2;
	font-weight: 500;
	animation: aviso-entra .5s var(--ease);
}

.painel__aviso--erro { border-color: #b3261e; background: #fbe9e7; color: #7a1d17; }
.painel__aviso--alerta { border-color: var(--dourado-titulo); background: #f8eedf; }

@keyframes aviso-entra { from { opacity: 0; transform: translateY(-6px); } }

.painel__saudacao { margin: 0 0 1.4rem; font-family: var(--serif); font-size: 1.15rem; color: var(--texto-medio); }
.introducao { margin: 0 0 1.4rem; max-width: 70ch; color: var(--texto-medio); }
.voltar { display: inline-block; margin-bottom: 1.2rem; font-size: .82rem; color: var(--texto-medio); }
.voltar:hover { color: var(--dourado); }

/* ---------- blocos ---------- */
.cartao {
	padding: 1.4rem;
	border: 1px solid var(--borda);
	border-radius: var(--raio);
	background: var(--branco);
}

.cartao + .cartao { margin-top: 1.2rem; }

.cartao__topo { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.cartao__topo h2 { margin: 0; font-size: 1.05rem; }
.cartao__topo small, .nota { font-size: .76rem; color: var(--texto-suave); }
.nota--centro { text-align: center; margin-top: 1.5rem; }

.grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.grade-2 .cartao + .cartao { margin-top: 0; }

.numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.4rem; }

.numero {
	position: relative;
	display: grid;
	gap: .15rem;
	padding: 1.3rem;
	border: 1px solid var(--borda);
	border-radius: var(--raio);
	background: var(--branco);
	transition: transform var(--suave) var(--ease), box-shadow var(--suave);
}

a.numero:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(29, 37, 21, .08); }
.numero__icone { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: .5rem; border-radius: 50%; background: var(--menta-100); color: var(--dourado); }
.numero strong { font-family: var(--serif); font-size: 2rem; line-height: 1; color: var(--verde-900); }
.numero span:not(.numero__icone) { font-weight: 500; }
.numero small { color: var(--texto-suave); font-size: .76rem; }
.numero--alerta { background: var(--verde-900); border-color: var(--verde-900); color: var(--branco); }
.numero--alerta strong { color: var(--dourado-claro); }
.numero--alerta small { color: rgba(255, 255, 255, .6); }
.numero--alerta .numero__icone { background: rgba(212, 162, 108, .16); color: var(--dourado-claro); }

.lista-simples { list-style: none; margin: 0; padding: 0; }
.lista-simples li { display: flex; align-items: center; gap: .9rem; padding: .75rem 0; border-top: 1px solid var(--borda); }
.lista-simples li:first-child { border-top: 0; }
.lista-simples li > span:first-child, .lista-simples li > span:nth-child(2):not(.etiqueta):not(.visitas) { flex: 1; min-width: 0; }
.lista-simples strong { display: block; font-weight: 600; }
.lista-simples small { color: var(--texto-suave); font-size: .76rem; }
.lista-simples--ranking li > span:nth-child(2) { flex: 1; }
.visitas { font-family: var(--serif); font-size: 1.1rem; color: var(--verde-900); white-space: nowrap; }
.visitas small { font-family: var(--sans); }

.miniatura { width: 46px; height: 46px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.miniatura--vazia { display: block; background: var(--menta-100); }

.vazio { margin: 0; color: var(--texto-suave); }
.vazio-grande { display: grid; justify-items: center; gap: .6rem; padding: 3.5rem 1.5rem; text-align: center; color: var(--texto-suave); }
.vazio-grande svg { color: var(--dourado-claro); }
.vazio-grande h2 { margin: .3rem 0 0; color: var(--texto); }

/* ---------- etiquetas e botões pequenos ---------- */
.etiqueta {
	display: inline-block;
	padding: .22rem .6rem;
	border-radius: 999px;
	background: var(--menta-100);
	color: var(--texto-medio);
	font-size: .7rem;
	font-weight: 600;
	white-space: nowrap;
}

.etiqueta--novo { background: #f8eedf; color: #7a5424; }
.etiqueta--contato, .etiqueta--ativo { background: #e3ecdd; color: #2f4a22; }
.etiqueta--visita, .etiqueta--reservado { background: #e2e9f3; color: #274267; }
.etiqueta--proposta { background: #efe3f3; color: #5a2c6b; }
.etiqueta--fechado, .etiqueta--vendido, .etiqueta--alugado { background: var(--verde-900); color: var(--dourado-claro); }
.etiqueta--perdido, .etiqueta--inativo, .etiqueta--rascunho { background: #eceae6; color: #6d6a63; }

.btn--pequeno { padding: .5rem .9rem; font-size: .76rem; }
.btn--largo { width: 100%; justify-content: center; }
.btn + .btn--largo { margin-top: .6rem; }

.botao-icone {
	display: inline-grid;
	place-items: center;
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--menta-100);
	color: var(--texto-medio);
	transition: background var(--rapido), color var(--rapido), transform var(--rapido);
}

.botao-icone:hover { background: var(--verde-900); color: var(--dourado-claro); transform: translateY(-1px); }
.botao-icone--whats { background: #e5f6ea; color: #1b8a45; }
.botao-icone--whats:hover { background: #25d366; color: #fff; }
.botao-icone--ouro { background: #f8eedf; color: var(--dourado-titulo); }

.link-perigo { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; padding: 0; border: 0; background: none; color: #a1352d; font: inherit; font-size: .8rem; cursor: pointer; }
.link-perigo:hover { text-decoration: underline; }

/* ---------- filtros ---------- */
.barra-filtros { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }

.abas-filtro { display: flex; flex-wrap: wrap; gap: .3rem; padding: .25rem; border-radius: 10px; background: var(--menta-100); }
.abas-filtro a { padding: .45rem .85rem; border-radius: 8px; font-size: .8rem; font-weight: 500; color: var(--texto-medio); transition: background var(--rapido), color var(--rapido); }
.abas-filtro a:hover { color: var(--texto); }
.abas-filtro a.is-ativa { background: var(--verde-900); color: var(--branco); }
.abas-filtro em { font-style: normal; opacity: .6; margin-inline-start: .15rem; }

.busca-painel input { width: min(320px, 70vw); }

/* ---------- campos ---------- */
.campo { display: flex; flex-direction: column; gap: .35rem; margin: 0 0 .9rem; border: 0; padding: 0; min-width: 0; }
.campo > span, .campo legend { font-size: .72rem; font-weight: 600; color: var(--texto-medio); padding: 0; }

.painel input[type="text"], .painel input[type="search"], .painel input[type="email"], .painel input[type="url"], .painel input[type="password"], .painel select, .painel textarea {
	width: 100%;
	padding: .68rem .8rem;
	border: 1px solid var(--borda);
	border-radius: 9px;
	background: var(--branco);
	color: var(--texto);
	font: inherit;
	font-size: .9rem;
	transition: border-color var(--rapido), box-shadow .25s;
}

.painel textarea { resize: vertical; line-height: 1.55; }
.painel input:focus, .painel select:focus, .painel textarea:focus { outline: none; border-color: var(--dourado-claro); box-shadow: 0 0 0 4px rgba(212, 162, 108, .18); }
.painel input::placeholder, .painel textarea::placeholder { color: #aaa89f; }

.grade-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.grade-campos--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grade-campos .campo--largo { grid-column: 1 / -1; }

.alternador { display: flex; padding: .25rem; border-radius: 10px; background: var(--menta-100); }
.alternador label { flex: 1; cursor: pointer; }
.alternador input { position: absolute; opacity: 0; }
.alternador span { display: block; padding: .5rem; border-radius: 8px; text-align: center; font-weight: 500; transition: background var(--rapido), color var(--rapido); }
.alternador input:checked + span { background: var(--verde-900); color: var(--branco); }
.alternador input:focus-visible + span { outline: 2px solid var(--dourado-claro); }

.interruptores { display: flex; flex-wrap: wrap; gap: 1.4rem; margin: .3rem 0 1.1rem; }
.interruptor { display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; font-weight: 500; }
.interruptor input { position: absolute; opacity: 0; }
.interruptor span { position: relative; width: 38px; height: 22px; border-radius: 999px; background: #d6d8cf; transition: background .25s; }
.interruptor span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .3s var(--ease); box-shadow: 0 1px 3px rgba(0, 0, 0, .2); }
.interruptor input:checked + span { background: var(--verde-900); }
.interruptor input:checked + span::after { transform: translateX(16px); background: var(--dourado-claro); }
.interruptor input:focus-visible + span { outline: 2px solid var(--dourado-claro); outline-offset: 2px; }

.caixinha { display: flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--texto-medio); }

.marcadores { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.marcador input { position: absolute; opacity: 0; }
.marcador span { display: inline-block; padding: .45rem .85rem; border: 1px solid var(--borda); border-radius: 999px; font-size: .8rem; cursor: pointer; transition: all var(--rapido); }
.marcador input:checked + span { border-color: var(--verde-900); background: var(--verde-900); color: var(--branco); }
.marcador input:focus-visible + span { outline: 2px solid var(--dourado-claro); }

/* ---------- lista de imóveis ---------- */
.tabela-cartoes { display: grid; gap: .6rem; }

.linha-imovel, .linha-selecao {
	display: grid;
	grid-template-columns: 64px minmax(0, 2.2fr) minmax(0, 1fr) auto 60px 60px auto;
	align-items: center;
	gap: 1rem;
	padding: .75rem 1rem .75rem .75rem;
	border: 1px solid var(--borda);
	border-radius: var(--raio);
	background: var(--branco);
	transition: box-shadow var(--suave), transform var(--suave) var(--ease);
}

.linha-imovel:hover, .linha-selecao:hover { box-shadow: 0 10px 26px rgba(29, 37, 21, .07); transform: translateY(-1px); }

.linha-imovel__foto { display: grid; place-items: center; width: 64px; height: 52px; border-radius: 8px; overflow: hidden; background: var(--menta-100); color: var(--texto-suave); }
.linha-imovel__foto img { width: 100%; height: 100%; object-fit: cover; }
.linha-imovel__info strong { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.linha-imovel__info a:hover strong { color: var(--dourado); }
.linha-imovel__info small { color: var(--texto-suave); font-size: .76rem; }
.linha-imovel__preco { font-weight: 700; color: var(--verde-900); white-space: nowrap; }
.linha-imovel__preco .imovel-card__periodo { display: inline; font-weight: 500; font-size: .72rem; color: var(--texto-suave); }
.linha-imovel__dado { display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; color: var(--texto-suave); }
.linha-imovel__dado--ouro { color: var(--dourado); font-weight: 600; }
.linha-imovel__acoes { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.linha-imovel__acoes form { margin: 0; display: contents; }

.linha-selecao { grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr) auto; }
.linha-selecao__icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--menta-100); color: var(--dourado); }
.linha-selecao__link { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; color: var(--texto-suave); }

.paginacao { display: flex; justify-content: center; gap: .3rem; margin-top: 1.6rem; }
.paginacao a { display: grid; place-items: center; min-width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--borda); background: var(--branco); }
.paginacao a.is-atual { background: var(--verde-900); color: var(--branco); border-color: var(--verde-900); }

/* ---------- formulário do imóvel ---------- */
.formulario-imovel__grade { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.2rem; align-items: start; }
.formulario-imovel__lateral .cartao--fixo { position: sticky; top: 90px; z-index: 5; }
.formulario-imovel__lateral .cartao + .cartao { margin-top: 1.2rem; }

.fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.fotos:empty { display: none; }

.foto { position: relative; border-radius: 10px; overflow: hidden; border: 1px solid var(--borda); background: var(--branco); cursor: grab; transition: transform .25s var(--ease), box-shadow .25s, opacity .2s; }
.foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; pointer-events: none; }
.foto input { border: 0 !important; border-top: 1px solid var(--borda) !important; border-radius: 0 !important; font-size: .75rem !important; padding: .5rem .6rem !important; }
.foto.arrastando { opacity: .4; }
.foto.alvo { box-shadow: 0 0 0 2px var(--dourado-claro); transform: scale(1.02); }
.fotos:not(.fotos--novas) .foto:first-child::before { content: "Capa"; position: absolute; top: .5rem; left: .5rem; z-index: 1; padding: .15rem .5rem; border-radius: 5px; background: var(--verde-900); color: var(--dourado-claro); font-size: .66rem; font-weight: 700; }

.foto__remover {
	position: absolute;
	top: .4rem;
	right: .4rem;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border: 0;
	border-radius: 50%;
	background: rgba(29, 37, 21, .8);
	color: #fff;
	font-size: 1.1rem;
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--rapido), background var(--rapido);
}

.foto:hover .foto__remover, .foto__remover:focus-visible { opacity: 1; }
.foto__remover:hover { background: #b3261e; }
.fotos--novas .foto { cursor: default; }
.fotos--novas .foto::after { content: "Nova"; position: absolute; top: .5rem; left: .5rem; padding: .15rem .5rem; border-radius: 5px; background: var(--dourado-claro); color: var(--verde-900); font-size: .66rem; font-weight: 700; }

.soltar-fotos {
	position: relative;
	display: grid;
	justify-items: center;
	gap: .2rem;
	padding: 1.6rem;
	border: 1.5px dashed #cfd3c6;
	border-radius: var(--raio);
	text-align: center;
	color: var(--texto-suave);
	cursor: pointer;
	transition: border-color var(--rapido), background var(--rapido);
}

.soltar-fotos svg { color: var(--dourado-claro); }
.soltar-fotos strong { color: var(--texto); }
.soltar-fotos span { font-size: .76rem; }
.soltar-fotos input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.soltar-fotos:hover, .soltar-fotos.sobre { border-color: var(--dourado-claro); background: #fbf6ee; }

.link-pronto { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--borda); }
.link-pronto code { display: block; margin-bottom: .6rem; padding: .6rem; border-radius: 8px; background: var(--menta-100); font-size: .74rem; word-break: break-all; }

/* ---------- seleção: escolha de imóveis ---------- */
.escolha-imoveis { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .9rem; }
.escolha input { position: absolute; opacity: 0; }
.escolha__cartao { position: relative; display: grid; gap: .2rem; padding-bottom: .8rem; border: 2px solid var(--borda); border-radius: var(--raio); overflow: hidden; cursor: pointer; transition: border-color var(--rapido), transform .25s var(--ease); }
.escolha__cartao img, .escolha__sem-foto { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--menta-100); }
.escolha__cartao strong, .escolha__cartao small { padding-inline: .8rem; }
.escolha__cartao strong { margin-top: .5rem; font-size: .84rem; line-height: 1.3; }
.escolha__cartao small { color: var(--dourado); font-weight: 600; }
.escolha__cartao::after { content: "✓"; position: absolute; top: .6rem; right: .6rem; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--branco); color: transparent; font-weight: 700; box-shadow: 0 2px 8px rgba(0, 0, 0, .15); transition: all var(--rapido); }
.escolha input:checked + .escolha__cartao { border-color: var(--verde-900); transform: translateY(-2px); }
.escolha input:checked + .escolha__cartao::after { background: var(--verde-900); color: var(--dourado-claro); }
.escolha input:focus-visible + .escolha__cartao { outline: 2px solid var(--dourado-claro); outline-offset: 2px; }

/* ---------- clientes ---------- */
.clientes { display: grid; gap: .6rem; }
.cliente { border: 1px solid var(--borda); border-radius: var(--raio); background: var(--branco); transition: box-shadow var(--suave); }
.cliente[open] { box-shadow: 0 12px 30px rgba(29, 37, 21, .08); }

.cliente summary {
	display: grid;
	grid-template-columns: 36px minmax(0, 1.2fr) minmax(0, 1.6fr) 110px auto 34px;
	align-items: center;
	gap: 1rem;
	padding: .8rem 1rem;
	list-style: none;
	cursor: pointer;
}

.cliente summary::-webkit-details-marker { display: none; }
.cliente__nome strong { display: block; }
.cliente__nome small, .cliente__quando { font-size: .76rem; color: var(--texto-suave); }
.cliente__procura { font-size: .82rem; color: var(--texto-medio); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cliente__detalhe { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; padding: 1rem 1.2rem 1.3rem; border-top: 1px solid var(--borda); }
.cliente__dados { display: grid; gap: .6rem; margin: 0; }
.cliente__dados div { display: grid; grid-template-columns: 120px 1fr; gap: .8rem; }
.cliente__dados dt { font-size: .74rem; color: var(--texto-suave); }
.cliente__dados dd { margin: 0; word-break: break-word; }

/* ---------- equipe ---------- */
.membros { list-style: none; margin: 0; padding: 0; }

.membro {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto 130px auto;
	align-items: center;
	gap: 1rem;
	padding: .85rem 0;
	border-top: 1px solid var(--borda);
}

.membro:first-child { border-top: 0; }
.membro__nome strong { display: block; }
.membro__nome em { font-style: normal; font-weight: 500; color: var(--texto-suave); }
.membro__nome small, .membro__acesso { font-size: .76rem; color: var(--texto-suave); }
.membro form { margin: 0; }

.botao-icone--perigo { border: 0; cursor: pointer; }
.botao-icone--perigo:hover { background: #b3261e; color: #fff; }

.senha-gerada {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 1.5rem;
	align-items: center;
	margin-bottom: 1.2rem;
	border: 1px solid var(--dourado-claro);
	background: linear-gradient(135deg, #fbf5ec, var(--branco));
	animation: aviso-entra .6s var(--ease);
}

.senha-gerada h2 { margin: 0 0 1rem; }
.senha-gerada dl { display: grid; gap: .5rem; margin: 0; }
.senha-gerada dl div { display: grid; grid-template-columns: 90px 1fr; gap: .6rem; align-items: center; }
.senha-gerada dt { font-size: .76rem; color: var(--texto-suave); }
.senha-gerada dd { margin: 0; word-break: break-all; }
.senha-gerada code { padding: .2rem .5rem; border-radius: 6px; background: var(--menta-100); font-size: .9rem; }
.senha-gerada__senha { font-size: 1.15rem !important; letter-spacing: .06em; background: var(--verde-900) !important; color: var(--dourado-claro); }
.senha-gerada__acoes { display: grid; gap: .6rem; }
.senha-gerada__acoes small { font-size: .76rem; color: var(--texto-suave); }

.painel__usuario span a + a { margin-inline-start: 0; }

@media (max-width: 960px) {
	.senha-gerada { grid-template-columns: 1fr; }
	.membro { grid-template-columns: 36px minmax(0, 1fr) auto; }
	.membro__acesso { display: none; }
	.membro .linha-imovel__acoes, .membro > .btn { grid-column: 2 / -1; justify-content: flex-start; }
}

/* ---------- agenda ---------- */
.agenda { display: grid; gap: 1.6rem; }
.agenda__data { margin: 0 0 .7rem; font-size: 1rem; }
.agenda__data small { margin-inline-start: .4rem; font-family: var(--sans); font-size: .76rem; font-weight: 500; color: var(--texto-suave); }
.agenda__dia--hoje .agenda__data { color: var(--dourado-titulo); }
.agenda__dia { display: grid; gap: .55rem; }

.visita-cartao {
	display: grid;
	grid-template-columns: 76px 64px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 1rem;
	padding: .75rem 1rem .75rem .9rem;
	border: 1px solid var(--borda);
	border-inline-start: 3px solid var(--borda);
	border-radius: var(--raio);
	background: var(--branco);
}

.agenda-resumo .visita-cartao + .visita-cartao { margin-top: .55rem; }
.visita-cartao--pedida { border-inline-start-color: var(--dourado-claro); background: #fdf9f2; }
.visita-cartao--confirmada { border-inline-start-color: var(--verde-900); }
.visita-cartao--realizada { border-inline-start-color: #5b8a4a; }
.visita-cartao--faltou, .visita-cartao--cancelada { border-inline-start-color: #c9c5bc; opacity: .75; }

.visita-cartao__hora strong { display: block; font-family: var(--serif); font-size: 1.15rem; color: var(--verde-900); }
.visita-cartao__hora small { font-size: .68rem; color: var(--dourado); font-weight: 600; }
.visita-cartao__info strong { display: block; }
.visita-cartao__info small { display: block; font-size: .76rem; color: var(--texto-suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visita-cartao__nota { font-style: italic; }
.visita-cartao__acoes { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; flex-wrap: wrap; }
.visita-cartao__acoes form { margin: 0; }
.visita-cartao__resultado select { padding: .45rem .6rem !important; font-size: .8rem !important; }
.alerta-texto { color: #a1352d; font-weight: 600; }

.etiqueta--vis-pedida { background: #f8eedf; color: #7a5424; }
.etiqueta--vis-confirmada { background: var(--verde-900); color: var(--dourado-claro); }
.etiqueta--vis-realizada { background: #e3ecdd; color: #2f4a22; }
.etiqueta--vis-faltou, .etiqueta--vis-cancelada { background: #eceae6; color: #6d6a63; }

.agenda-resumo { margin-bottom: 1.2rem; }
.agenda-resumo .cartao__topo > span { display: flex; align-items: center; gap: .8rem; }

.cliente__visitas { display: grid; gap: .4rem; align-content: start; grid-column: 1 / -1; padding-bottom: .8rem; border-bottom: 1px solid var(--borda); }
.cliente__visitas > strong { font-size: .76rem; color: var(--texto-suave); }
.cliente__visitas > a:not(.btn) { display: flex; align-items: center; justify-content: space-between; gap: .8rem; font-size: .84rem; }
.cliente__visitas .btn { justify-self: start; }

/* ---------- quadro de clientes ---------- */
.abas-filtro--compacta a { padding: .5rem .8rem; }
.painel__acoes { align-items: center; }

.legenda-alerta, .legenda-parado { padding: .05rem .45rem; border-radius: 5px; font-weight: 600; }
.legenda-alerta { background: #fbe9e7; color: #a1352d; }
.legenda-parado { background: #f8eedf; color: #7a5424; }

.quadro-navegacao { display: flex; align-items: center; gap: .7rem; margin-bottom: .8rem; }
.quadro-navegacao__etapas { display: flex; flex: 1; gap: .35rem; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.quadro-navegacao__etapa {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	flex: 0 0 auto;
	padding: .46rem .7rem;
	border: 1px solid var(--borda);
	border-radius: 999px;
	background: var(--menta-100);
	color: var(--texto-medio);
	font: inherit;
	font-size: .78rem;
	cursor: pointer;
}
.quadro-navegacao__etapa:hover, .quadro-navegacao__etapa:focus-visible { border-color: var(--dourado); color: var(--verde-900); }
.quadro-navegacao__etapa span { min-width: 1.45rem; padding: .1rem .35rem; border-radius: 999px; background: var(--branco); text-align: center; font-size: .7rem; font-weight: 700; }
.quadro-navegacao__setas { display: flex; flex: 0 0 auto; gap: .3rem; }
.quadro-navegacao__seta { width: 34px; height: 34px; border: 1px solid var(--borda); border-radius: 50%; background: var(--branco); color: var(--verde-900); font: inherit; cursor: pointer; }
.quadro-navegacao__seta:hover:not(:disabled), .quadro-navegacao__seta:focus-visible { border-color: var(--dourado); background: var(--menta-100); }
.quadro-navegacao__seta:disabled { opacity: .4; cursor: default; }
.quadro-navegacao__seta[hidden] { display: none; }

.quadro {
	display: grid;
	grid-template-columns: repeat(6, minmax(230px, 1fr));
	gap: .8rem;
	align-items: start;
	overflow-x: auto;
	padding-bottom: 1rem;
	margin-inline: calc(-1 * clamp(1.2rem, 3vw, 2.6rem));
	padding-inline: clamp(1.2rem, 3vw, 2.6rem);
	scroll-snap-type: x proximity;
}

.quadro__coluna {
	display: flex;
	flex-direction: column;
	min-height: 60vh;
	border-radius: var(--raio);
	background: var(--menta-100);
	border: 2px dashed transparent;
	scroll-snap-align: start;
	transition: border-color .2s, background .2s;
}

.quadro__coluna.sobre { border-color: var(--dourado-claro); background: #f6efe3; }

.quadro__topo { display: flex; align-items: center; justify-content: space-between; padding: .85rem .9rem .5rem; }
.quadro__topo h2 { margin: 0; font-size: .92rem; }
.quadro__conta { min-width: 24px; padding: .1rem .45rem; border-radius: 999px; background: var(--branco); font-size: .72rem; font-weight: 700; text-align: center; color: var(--texto-medio); }
.quadro__coluna--novo .quadro__conta { background: var(--dourado-claro); color: var(--verde-900); }
.quadro__coluna--fechado .quadro__topo h2 { color: #2f4a22; }
.quadro__coluna--perdido { opacity: .8; }

.quadro__cartoes { display: grid; gap: .55rem; align-content: start; flex: 1; padding: .3rem .6rem .8rem; }

.lead-cartao {
	position: relative;
	padding: .8rem .85rem .7rem;
	border: 1px solid var(--borda);
	border-inline-start: 3px solid transparent;
	border-radius: 11px;
	background: var(--branco);
	cursor: grab;
	box-shadow: 0 1px 2px rgba(29, 37, 21, .04);
	transition: transform .2s var(--ease), box-shadow .2s, opacity .2s;
}

.lead-cartao:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(29, 37, 21, .1); }
.lead-cartao:focus-visible { outline: 2px solid var(--dourado-claro); outline-offset: 2px; }
.lead-cartao.arrastando { opacity: .35; transform: rotate(2deg); }
.lead-cartao.acabou-de-mover { animation: cartao-chega .7s var(--ease); }

@keyframes cartao-chega { 0% { box-shadow: 0 0 0 3px var(--dourado-claro); transform: scale(1.03); } 100% { box-shadow: 0 1px 2px rgba(29, 37, 21, .04); transform: none; } }

.lead-cartao--atrasado { border-inline-start-color: #c0392b; background: #fff7f6; }
.lead-cartao--atrasado .lead-cartao__tempo { color: #a1352d; font-weight: 700; }
.lead-cartao--parado { border-inline-start-color: var(--dourado-claro); }
.lead-cartao--parado .lead-cartao__tempo { color: var(--dourado); font-weight: 700; }

.lead-cartao__topo { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.lead-cartao__nome { font-weight: 600; line-height: 1.3; }
.lead-cartao__nome:hover { color: var(--dourado); }
.botao-icone--mini { width: 28px; height: 28px; }
.lead-cartao__procura { margin: .3rem 0 0; font-size: .74rem; color: var(--texto-suave); }
.lead-cartao__visita { display: flex; align-items: center; gap: .3rem; margin: .5rem 0 0; padding: .3rem .5rem; border-radius: 6px; background: var(--verde-900); color: var(--dourado-claro); font-size: .7rem; font-weight: 600; }

.lead-cartao__pe { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .6rem; padding-top: .55rem; border-top: 1px solid var(--borda); }
.lead-cartao__tempo { font-size: .7rem; color: var(--texto-suave); }
.painel .lead-cartao__mover { width: auto; max-width: 118px; padding: .2rem .4rem; border-radius: 6px; font-size: .7rem; color: var(--texto-medio); }

.quadro-aviso {
	position: fixed;
	inset-block-end: 1.5rem;
	inset-inline-start: 50%;
	z-index: 90;
	padding: .75rem 1.2rem;
	border-radius: 10px;
	background: var(--verde-900);
	color: var(--branco);
	font-size: .85rem;
	box-shadow: 0 14px 36px rgba(0, 0, 0, .25);
	transform: translateX(-50%);
	animation: aviso-entra .4s var(--ease);
	transition: opacity .4s, transform .4s;
}

.quadro-aviso--erro { background: #a1352d; }
.quadro-aviso.saindo { opacity: 0; transform: translate(-50%, 8px); }

@media (max-width: 1200px) {
	.visita-cartao { grid-template-columns: 70px 56px minmax(0, 1fr) auto; }
	.visita-cartao__acoes { grid-column: 3 / -1; justify-content: flex-start; }
}

@media (max-width: 700px) {
	.visita-cartao { grid-template-columns: 60px minmax(0, 1fr); }
	.visita-cartao .linha-imovel__foto { display: none; }
	.visita-cartao .etiqueta, .visita-cartao__acoes { grid-column: 2; }
	.quadro { grid-template-columns: repeat(6, 82vw); }
	.painel__acoes { flex-wrap: wrap; justify-content: flex-end; }
}

/* ---------- editor do site ---------- */
.site-editor { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.site-editor__indice { position: sticky; top: 90px; display: grid; gap: .15rem; }
.site-editor__indice a { padding: .55rem .8rem; border-radius: 8px; font-size: .82rem; color: var(--texto-medio); border-inline-start: 2px solid transparent; transition: all var(--rapido); }
.site-editor__indice a:hover { background: var(--branco); color: var(--texto); border-color: var(--dourado-claro); }
.site-editor__form .cartao { scroll-margin-top: 90px; }

.campo-imagem__area { position: relative; display: block; border-radius: var(--raio); overflow: hidden; border: 1px solid var(--borda); background: var(--menta-100); cursor: pointer; }
.campo-imagem__area img { display: block; width: 100%; max-height: 280px; object-fit: cover; transition: transform .6s var(--ease), filter .3s; }
.campo-imagem__area:hover img { transform: scale(1.03); filter: brightness(.8); }
.campo-imagem__vazia { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 160px; color: var(--texto-suave); }
.campo-imagem__trocar { position: absolute; left: 50%; top: 50%; display: inline-flex; align-items: center; gap: .4rem; padding: .55rem 1rem; border-radius: 999px; background: var(--verde-900); color: var(--dourado-claro); font-size: .8rem; font-weight: 600; transform: translate(-50%, -50%) scale(.9); opacity: 0; transition: all .3s var(--ease); }
.campo-imagem__area:hover .campo-imagem__trocar { opacity: 1; transform: translate(-50%, -50%); }
.campo-imagem__area input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.campo-imagem small { color: var(--texto-suave); font-size: .74rem; }

/* ---------- login ---------- */
.painel--entrar { background: var(--verde-900); }

.entrar { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }

.entrar__marca {
	display: grid;
	place-content: center;
	justify-items: center;
	gap: .5rem;
	color: var(--branco);
	background: radial-gradient(circle at 30% 30%, rgba(212, 162, 108, .14), transparent 55%), var(--verde-900);
}

/* Nome surge letra a letra enquanto as torres sobem. */
.entrar__nome {
	display: grid;
	justify-items: center;
	gap: .5rem;
	margin-top: 1.8rem;
	font-family: var(--serif);
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1;
}

.entrar__linha { display: flex; white-space: nowrap; }
.entrar__linha--principal { font-size: clamp(2.4rem, 1rem + 4.2vw, 5.2rem); letter-spacing: .1em; }

/* Traços dos lados do "IMÓVEIS", como no logo. */
.entrar__linha--sub {
	align-items: center;
	gap: .02em;
	font-size: clamp(.95rem, .6rem + 1vw, 1.5rem);
	letter-spacing: .55em;
	color: var(--dourado-claro);
}

.entrar__linha--sub::before,
.entrar__linha--sub::after {
	content: "";
	width: clamp(2rem, 4vw, 4.5rem);
	height: 1px;
	margin-inline: 1rem;
	background: currentColor;
	opacity: 0;
	transform: scaleX(0);
	animation: traco-abre 1.6s 2.6s cubic-bezier(.16, 1, .3, 1) forwards;
}

.entrar__linha--sub::before { transform-origin: right; }
.entrar__linha--sub::after { transform-origin: left; }

@keyframes traco-abre { to { opacity: .7; transform: scaleX(1); } }

.entrar__linha > span {
	display: inline-block;
	opacity: 0;
	filter: blur(10px);
	transform: translateY(.35em);
	animation: letra-acende 1.6s cubic-bezier(.16, 1, .3, 1) forwards;
	/* começa quando a torre do meio já está subindo */
	animation-delay: calc(1.1s + var(--i) * .09s);
}

@keyframes letra-acende {
	60% { filter: blur(0); }
	to { opacity: 1; filter: blur(0); transform: none; }
}

.entrar__marca small {
	margin-top: .6rem;
	font-size: .8rem;
	letter-spacing: .3em;
	color: var(--dourado-claro);
	opacity: 0;
	animation: letra-acende 1.4s 3.4s ease forwards;
}

.entrar__colunas { display: flex; align-items: flex-end; gap: 12px; height: 150px; }

.entrar__colunas span {
	width: 12px;
	background: linear-gradient(180deg, #f0cfa4, var(--dourado-claro) 45%, #a8773f);
	transform: scaleY(0);
	transform-origin: bottom;
	animation: coluna-cresce 2.4s cubic-bezier(.22, 1, .36, 1) forwards;
}

.entrar__colunas span:nth-child(1), .entrar__colunas span:nth-child(5) { height: 46%; }
.entrar__colunas span:nth-child(2), .entrar__colunas span:nth-child(4) { height: 70%; }
.entrar__colunas span:nth-child(3) { height: 100%; }

/* Sobem de fora para dentro: laterais primeiro, a torre maior por último. */
.entrar__colunas span:nth-child(1), .entrar__colunas span:nth-child(5) { animation-delay: .2s; }
.entrar__colunas span:nth-child(2), .entrar__colunas span:nth-child(4) { animation-delay: .55s; }
.entrar__colunas span:nth-child(3) { animation-delay: .9s; }

@keyframes coluna-cresce { to { transform: scaleY(1); } }

.entrar__caixa { align-self: center; justify-self: center; width: min(400px, 88vw); padding: 2.4rem; border-radius: calc(var(--raio) + 4px); background: var(--branco); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); animation: aviso-entra .8s var(--ease); }
.entrar__caixa h1 { margin: 0 0 1.6rem; font-size: 1.7rem; }
.entrar__caixa .btn--largo { margin-top: 1.2rem; }
.entrar__esqueci { margin: 1rem 0 0; font-size: .76rem; color: var(--texto-suave); text-align: center; }

/* Desktop: caixa de login maior, proporcional ao logo ao lado. */
@media (min-width: 961px) {
	.entrar__caixa { width: min(540px, 40vw); padding: 3.6rem 3.4rem; border-radius: 22px; }
	.entrar__caixa .chapeu { font-size: .82rem; }
	.entrar__caixa h1 { margin-bottom: 2.2rem; font-size: 2.4rem; }
	.entrar__caixa .campo { margin-bottom: 1.2rem; gap: .5rem; }
	.entrar__caixa .campo > span { font-size: .86rem; }
	.entrar__caixa input[type="text"], .entrar__caixa input[type="password"] { padding: 1rem 1.1rem; font-size: 1.05rem; border-radius: 11px; }
	.entrar__caixa .caixinha { font-size: .92rem; }
	.entrar__caixa .btn--largo { margin-top: 1.6rem; padding-block: 1.1rem; font-size: 1rem; border-radius: 11px; }
	.entrar__esqueci { font-size: .84rem; margin-top: 1.4rem; }
}

/* ---------- responsivo ---------- */
@media (max-width: 1200px) {
	.linha-imovel { grid-template-columns: 64px minmax(0, 1fr) auto auto; }
	.linha-imovel__dado { display: none; }
	.linha-imovel__acoes { grid-column: 2 / -1; justify-content: flex-start; }
	.numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grade-campos--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cliente summary { grid-template-columns: 36px minmax(0, 1fr) auto 34px; }
	.cliente__procura, .cliente__quando { display: none; }
}

@media (max-width: 960px) {
	.painel__lateral { transform: translateX(-100%); transition: transform .4s var(--ease); box-shadow: 20px 0 60px rgba(0, 0, 0, .3); }
	.painel__lateral.is-aberto { transform: none; }
	.painel__principal { margin-inline-start: 0; }
	.painel__abre-menu { display: block; }
	.grade-2, .formulario-imovel__grade, .site-editor, .cliente__detalhe, .entrar { grid-template-columns: 1fr; }
	.site-editor__indice { display: none; }
	.formulario-imovel__lateral .cartao--fixo { position: static; }
	.entrar__marca { padding: 3rem 1rem 1rem; }
	.entrar__colunas { height: 100px; gap: 9px; }
	.entrar__colunas span { width: 9px; }
	.linha-selecao { grid-template-columns: 44px minmax(0, 1fr); }
	.linha-selecao__link { display: none; }
	.linha-selecao .linha-imovel__acoes { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 560px) {
	.numeros, .grade-campos { grid-template-columns: 1fr; }
	.painel__acoes .btn { padding: .6rem .8rem; font-size: .76rem; }
	.linha-imovel { grid-template-columns: 56px minmax(0, 1fr); }
	.linha-imovel__preco, .linha-imovel .etiqueta { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
	.entrar__linha > span, .entrar__marca small, .entrar__colunas span, .entrar__linha--sub::before, .entrar__linha--sub::after { animation: none; opacity: 1; filter: none; transform: none; }
}

/* ---------- editor de documentos ---------- */
.docs-situacao { padding: 0; }
.docs-situacao + .docs-situacao { margin-top: .8rem; }
.docs-situacao__resumo { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.4rem; cursor: pointer; list-style: none; }
.docs-situacao__resumo::-webkit-details-marker { display: none; }
.docs-situacao__resumo::before { content: "+"; margin-right: .6rem; color: var(--dourado); font-weight: 700; }
.docs-situacao[open] > .docs-situacao__resumo::before { content: "−"; }
.docs-situacao__resumo small { color: var(--texto-suave); font-size: .76rem; }
.docs-situacao[open] > .docs-situacao__resumo { border-bottom: 1px solid var(--borda); margin-bottom: 1.1rem; }
.docs-situacao > .grade-campos, .docs-grupos, .docs-situacao__pe { padding-inline: 1.4rem; }
.docs-situacao__pe { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; }
.docs-situacao__pe .link-perigo { margin-top: 0; }
.docs-grupo { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--borda); border-radius: 8px; background: #fbfaf6; }
.docs-grupo__topo { display: flex; gap: .6rem; margin-bottom: .7rem; }
.docs-grupo__nome { flex: 1; font-weight: 600; }
.docs-itens { display: grid; gap: .45rem; }
.docs-item { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) auto; gap: .45rem; align-items: center; }
.docs-editor input[type="text"], .docs-editor select { width: 100%; padding: .55rem .7rem; border: 1px solid var(--borda); border-radius: 6px; background: #fff; font: inherit; font-size: .86rem; }
.docs-remover { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 6px; background: none; color: #a1352d; cursor: pointer; }
.docs-remover:hover, .docs-remover:focus-visible { border-color: #e6c4c0; background: #fff4f2; }
.link-acao { display: inline-flex; align-items: center; gap: .35rem; margin-top: .6rem; padding: 0; border: 0; background: none; color: var(--dourado); font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
.link-acao:hover { text-decoration: underline; }
.docs-nova-situacao { margin-top: 1rem; }
.docs-restaurar { text-align: center; }
@media (max-width: 640px) {
	.docs-item { grid-template-columns: minmax(0, 1fr) auto; }
	.docs-item input + input { grid-column: 1; }
	.docs-item .docs-remover { grid-row: 1; grid-column: 2; }
}
.docs-situacao__resumo strong { flex: 1; }

/* função / cargo na lista da equipe */
.membro__cargo { display: flex; gap: .4rem; align-items: center; margin-top: .45rem; }
.membro__cargo input { width: 13rem; max-width: 100%; padding: .4rem .6rem; border: 1px solid var(--borda); border-radius: 6px; background: #fff; font: inherit; font-size: .8rem; }
.membro__cargo .btn--pequeno { padding: .4rem .7rem; }

/* ---------- responsável pelo cliente ---------- */
.abas-filtro--responsavel { margin: 0 0 1.1rem; width: fit-content; max-width: 100%; }
.cliente__resp { font-size: .74rem; font-weight: 600; color: var(--texto-medio); white-space: nowrap; }
.cliente__resp--sem { color: #a1352d; }
.lead-cartao__resp { display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--verde-900); color: var(--dourado-claro); font-size: .7rem; font-weight: 700; }
.lead-cartao__resp--sem { background: #f3e1de; color: #a1352d; }

/* ---------- proprietário no imóvel ---------- */
.cartao--interno { border-style: dashed; border-color: #d9c9a6; background: #fdfbf6; }
.cartao--interno .cartao__topo small { display: inline-flex; align-items: center; gap: .3rem; color: var(--dourado); font-weight: 600; }
.aviso-autorizacao { margin: -.4rem 0 .9rem; padding: .5rem .7rem; border-radius: 6px; font-size: .78rem; font-weight: 600; }
.aviso-autorizacao--vence { background: #f8eedf; color: #7a5424; }
.aviso-autorizacao--vencida { background: #fbe9e6; color: #a1352d; }
.botao-icone--alerta-vence { background: #f8eedf; color: #7a5424; }
.botao-icone--alerta-vencida { background: #fbe9e6; color: #a1352d; }

/* ---------- corretores ---------- */
.corretores { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.corretor { padding: .9rem 0; border-top: 1px solid var(--borda); }
.corretor:first-child { border-top: 0; padding-top: 0; }
.corretor__topo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .9rem; align-items: center; }
.corretor__numeros { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .76rem; color: var(--texto-suave); }
.corretor__numeros strong { color: var(--texto); }
.corretor__editar { margin-top: .6rem; }
.corretor__editar summary { cursor: pointer; font-size: .78rem; font-weight: 600; color: var(--dourado); }
.corretor__editar form.grade-campos { margin-top: .8rem; }
.corretor__acoes { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.corretor__acoes form { margin: 0; }
.corretor__acoes .link-perigo { margin-top: 0; }
@media (max-width: 760px) {
	.corretor__topo { grid-template-columns: auto minmax(0, 1fr) auto; }
	.corretor__numeros { grid-column: 1 / -1; }
}

/* ---------- novo cliente e ficha de imóvel ---------- */
.formulario-cliente { max-width: 820px; }
.formulario-cliente textarea, .formulario-cliente select { width: 100%; }
.ficha-imovel { max-width: 820px; }
.ficha-imovel__foto { display: block; width: 100%; max-height: 360px; object-fit: cover; border-radius: 8px; margin-bottom: 1rem; }
.corretor__foto { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.corretor__site { color: #2f4a22; font-weight: 600; }
.corretor__site--fora { color: #a1352d; font-weight: 600; }
.campo--check { flex-direction: row; align-items: center; gap: .5rem; font-size: .82rem; }
