/**
 * Lock-up AppContabill: `logo-appcontabill.png` (horizontal AC + wordmark; raster aprovado).
 * e cantos arredondados desenhados — não aplicar clip externo.
 * A moldura (.brand-lockup-frame) serve apenas de contentor de layout.
 */

:root{
	/* Raio proporcional ao logo — suficiente para suavizar, pequeno para não cortar */
	--app-brand-logo-radius: clamp(10px, 2vmin, 16px);
}

/* Contentor: à volta do logo (fit-content) — evita faixa branca extra à direita */
.brand-lockup-frame{
	display:block;
	width:fit-content;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	line-height:0;
	vertical-align:middle;
	border-radius:var(--app-brand-logo-radius);
	overflow:hidden;
	-webkit-clip-path:inset(0 round var(--app-brand-logo-radius));
	clip-path:inset(0 round var(--app-brand-logo-radius));
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

/* Login / registo: moldura alinha ao gráfico, centrada */
.login-container .brand-default-wrap > .brand-lockup-frame,
.login-container .register-default-wrap .brand-lockup-frame{
	width:fit-content;
	max-width:min(100%, 320px);
	margin-left:auto;
	margin-right:auto;
}

/* Imagem do logo AppContabill: proporção natural do SVG, centrada na moldura */
.brand-lockup-frame img[src*="logo-appcontabill"]{
	display:block;
	width:auto;
	height:auto;
	max-width:min(100%, 320px);
	max-height:clamp(48px, 16vw, 76px);
	margin:0 auto;
	object-fit:contain;
	object-position:center center;
	border-radius:0;
	-webkit-clip-path:none;
	clip-path:none;
	vertical-align:top;
}

/* Registo: logótipo maior que no login, mantendo moldura ajustada ao gráfico */
.login-container .register-default-wrap .brand-lockup-frame img[src*="logo-appcontabill"]{
	max-height:clamp(56px, 20vw, 120px);
	max-width:min(100%, 320px);
}

/* Logo AppContabill solto (fora de frame): cantos suaves */
img[src*="logo-appcontabill"]:not(.brand-lockup-frame img){
	border-radius:var(--app-brand-logo-radius);
	vertical-align:middle;
}

/* Dashboard header: uma célula — só o bloco visível ocupa espaço */
.header-brand-logo-wrap{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	grid-template-rows:auto;
	align-items:center;
	justify-items:start;
	min-height:clamp(48px,12vw,58px);
}

.header-brand-logo-wrap > .header-brand-default{
	grid-column:1;
	grid-row:1;
	max-width:100%;
	min-width:0;
}

/* Dashboard header: frame do logo — tamanho proporcional ao header */
.header-brand-logo-wrap .brand-lockup-frame{
	display:inline-block;
	line-height:0;
}

/* Logo no header: tamanho contido, gráfico centrado na caixa */
.header-brand-logo-wrap .brand-lockup-frame{
	margin-left:0;
	margin-right:0;
}

.header-brand-logo-wrap .brand-lockup-frame img[src*="logo-appcontabill"]{
	height:clamp(48px,10vw,64px);
	width:auto;
	max-width:min(55vw,280px);
	object-fit:contain;
	object-position:center center;
}

/* Bloco white-label oculto */
.header-brand-default[hidden]{
	display:none !important;
}

.login-container #loginWhiteLabelBrand[hidden],
.login-container #registerWhiteLabelBrand[hidden]{
	display:none !important;
}

/* Reserva de altura para evitar salto enquanto a marca carrega */
.login-container .brand-default-wrap,
.login-container .register-default-wrap{
	min-height:clamp(52px,18vw,88px);
}

/* Mini-mark (ex.: botão WhatsApp) */
img.invite-wa-mark[src*="logo-appcontabill"]{
	border-radius:14px;
	-webkit-clip-path:inset(0 round 14px);
	clip-path:inset(0 round 14px);
}

/* Logótipo tenant white-label: sem forçar raio em assets do cliente */
img.header-logo-wl[src*="/branding/"]{
	border-radius:0;
	-webkit-clip-path:none;
	clip-path:none;
}
