/** Pro Profile SaaS — agency logo chrome for public /pro/ (generated). */
/**
 * Agency-specific styles for Pro Profile SaaS 0.63.0.
 *
 * Hereda variables y reset del bundle público (public.css y member-dashboard.css).
 * Cero overrides agresivos; solo añade componentes específicos del módulo agencia.
 */

/* ============================================================
 * Franja superior "CUENTA DE AGENCIA"
 * ============================================================ */
.ppsa-agency-stripe {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45rem 0.85rem;
	background: linear-gradient(90deg, #1e3a8a 0%, #2563eb 55%, #0ea5e9 100%);
	color: #fff;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	font-weight: 650;
	padding: 0.45rem 1rem;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.ppsa-agency-stripe__label { text-transform: none; letter-spacing: 0; }
.ppsa-agency-stripe__link { color: #fff !important; text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }/* ============================================================
 * Logo de empresa en perfil público de empleado
 * ============================================================ */
.ppsa-agency-logo {
	display: inline-block;
	object-fit: cover;
}.ppsa-agency-logo--shape-square { border-radius: .25rem; }.ppsa-agency-logo--shape-circle { border-radius: 50%; }.ppsa-agency-logo--shape-rounded { border-radius: .75rem; }.ppsa-agency-logo--shape-ribbon {
	clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
}.ppsa-agency-logo--size-micro { width: 24px; height: 24px; }.ppsa-agency-logo--size-small { width: 40px; height: 40px; }.ppsa-agency-logo--size-medium { width: 60px; height: 60px; }.ppsa-agency-logo--size-large { width: 80px; height: 80px; }.ppsa-agency-logo[style*='--ppsa-agency-logo-size'] {
	width: var(--ppsa-agency-logo-size);
	height: var(--ppsa-agency-logo-size);
	max-width: 100%;
	object-fit: contain;
}.ppsa-agency-logo--pos-above-avatar {
	display: block;
	margin: 0 auto .5rem;
}.ppsa-agency-logo--pos-below-avatar {
	display: block;
	margin: .5rem auto 0;
}.ppsa-agency-logo--pos-after-last-link {
	display: block;
	margin: 1rem auto;
	opacity: .85;
}.ppsa-agency-logo--pos-avatar-corner {
	position: absolute;
	right: -6px;
	bottom: -6px;
	box-shadow: 0 0 0 3px var(--ppsa-bg, #fff);
}/* Floating stack: columna centrada en la misma huella que el FAB del chat */
.ppsa-floating-stack .ppsa-agency-fab-stack {
	position: relative;
	left: auto;
	bottom: auto;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	align-items: center;
	pointer-events: none;
	width: 100%;
	max-width: 100%;
}.ppsa-floating-stack--left .ppsa-agency-fab-stack,
.ppsa-floating-stack--right .ppsa-agency-fab-stack {
	align-items: center;
}.ppsa-floating-stack .ppsa-agency-fab-stack > * {
	pointer-events: auto;
}.ppsa-emp-badges-strip--under-name {
	position: sticky;
	top: 0.35rem;
	z-index: 8;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	justify-content: center;
	align-items: center;
	margin: 0.35rem 0 0.65rem;
	max-width: 100%;
	pointer-events: auto;
	background: transparent;
}/* ============================================================
 * Insignias asignadas al empleado (chips)
 * ============================================================ */
.ppsa-emp-badges {
	display: flex;
	gap: .35rem;
	flex-wrap: wrap;
	justify-content: center;
	margin: .5rem 0;
}.ppsa-emp-badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .72rem;
	padding: .25rem .6rem;
	border-radius: 999px;
	background: var(--bg, #fbbf24);
	color: #fff;
	font-weight: 600;
	animation: ppsa-emp-badge-in .4s ease-out both;
}.ppsa-emp-badges .ppsa-emp-badge:nth-child(2) { animation-delay: .08s; }.ppsa-emp-badges .ppsa-emp-badge:nth-child(3) { animation-delay: .16s; }.ppsa-emp-badges .ppsa-emp-badge:nth-child(4) { animation-delay: .24s; }.ppsa-emp-badges .ppsa-emp-badge:nth-child(5) { animation-delay: .32s; }/* ============================================================
 * Empleados table (en el dashboard agencia)
 * ============================================================ */
.ppsa-emp-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .85rem;
}.ppsa-emp-table thead th {
	background: #f9fafb;
	padding: .6rem;
	text-align: left;
	font-weight: 600;
	border-bottom: 2px solid #e5e7eb;
}.ppsa-emp-table tbody td {
	padding: .6rem;
	border-bottom: 1px solid #f1f5f9;
}.ppsa-emp-table tbody tr:hover {
	background: #f9fafb;
}.ppsa-emp-view-btn.is-active {
	background: #eef2ff;
	border-color: #6366f1;
	color: #3730a3;
	font-weight: 600;
}.ppsa-emp-view-mode-list tr[data-emp-id]:not(.is-expanded) td {
	padding-top: .45rem;
	padding-bottom: .45rem;
}.ppsa-emp-view-mode-list tr[data-emp-id]:not(.is-expanded) td:nth-child(n+3):not(:last-child) {
	display: none;
}.ppsa-emp-view-mode-list tr[data-emp-id] {
	cursor: pointer;
}.ppsa-emp-view-mode-list tr[data-emp-id].is-expanded {
	background: #f8fafc;
	box-shadow: inset 3px 0 0 #6366f1;
}.ppsa-emp-view-mode-detail tr[data-emp-id].is-selected {
	box-shadow: inset 3px 0 0 #6366f1;
}.ppsa-emp-view-mode-detail .ppsa-emp-table thead {
	display: none;
}/* ============================================================
 * 0.66.0 — Fase H — Render público de empleado
 * ============================================================ */

/* Logo de la agencia en el perfil público (posiciones nuevas) */
.ppsa-agency-logo-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
}.ppsa-agency-logo-wrap--above_photo,
.ppsa-agency-logo-wrap--below_photo,
.ppsa-agency-logo-wrap--top_right,
.ppsa-agency-logo-wrap--bottom {
	position: fixed;
	background: rgba(255, 255, 255, .92);
	padding: 5px;
	border-radius: 12px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
	z-index: 48;
	pointer-events: none;
}.ppsa-agency-logo-wrap--above_photo {
	top: calc(14px + env(safe-area-inset-top, 0px));
	left: 50%;
	transform: translateX(-50%);
}.ppsa-agency-logo-wrap--top_right {
	top: calc(14px + env(safe-area-inset-top, 0px));
	right: calc(14px + env(safe-area-inset-right, 0px));
}.ppsa-agency-logo-wrap--below_photo {
	top: 34%;
	left: 50%;
	transform: translateX(-50%);
	opacity: .92;
}.ppsa-agency-logo-wrap--bottom {
	bottom: calc(60px + env(safe-area-inset-bottom, 0px));
	left: 50%;
	transform: translateX(-50%);
}.ppsa-agency-logo--shape-pill { border-radius: 999px; }.ppsa-agency-logo--shape-pill[style*='--ppsa-agency-logo-size'] {
	width: calc(var(--ppsa-agency-logo-size) * 1.75);
	height: var(--ppsa-agency-logo-size);
}/* Pila de FABs agencia dentro de .ppsa-floating-stack (mismo ritmo que stats públicas) */
.ppsa-agency-fab-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.72rem;
	width: 100%;
	margin: 0;
	pointer-events: none;
}.ppsa-agency-fab-stack > * {
	pointer-events: auto;
}/* Badges del empleado: franja fija lateral (sólo si no van sobre la foto). */
.ppsa-emp-badges-strip:not(.ppsa-emp-badges-strip--over-avatar) {
	position: fixed;
	left: calc(14px + env(safe-area-inset-left, 0px));
	top: calc(54px + env(safe-area-inset-top, 0px));
	display: flex;
	flex-direction: column;
	gap: .35rem;
	align-items: flex-start;
	max-width: 60vw;
	z-index: 47;
	pointer-events: none;
}.ppsa-emp-badge { pointer-events: auto; }.ppsa-emp-badge {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .22rem .55rem;
	background: var(--ppsa-badge-color, #0ea5e9);
	color: #fff;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 600;
	box-shadow: 0 3px 8px rgba(0, 0, 0, .15);
}.ppsa-emp-badge__icon { font-size: .85rem; }.ppsa-emp-footer-promo {
	margin: 2rem auto 1.5rem;
	max-width: 520px;
	padding: 1rem 1.2rem;
	background: linear-gradient(135deg, rgba(124, 58, 237, .08), rgba(37, 99, 235, .08));
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	border: 1px dashed rgba(124, 58, 237, .35);
}.ppsa-emp-footer-promo__txt {
	margin: 0;
	color: #0f172a;
	font-weight: 600;
}.ppsa-emp-footer-promo__btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	background: #25d366;
	color: #fff;
	padding: .55rem 1rem;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	font-size: .9rem;
	transition: transform .15s, background .15s;
}.ppsa-emp-footer-promo__btn:hover {
	transform: translateY(-2px);
	background: #1eb755;
	color: #fff;
}/* ============================================================
 * 0.67.0 — Fase J — Directorio público de agencia
 * ============================================================ */
.ppsa-agency-directory {
	background: var(--ppsa-dir-page-tint, #f4f6fb);
	color: #0f172a;
	margin: 0;
	-webkit-font-smoothing: antialiased;
}.ppsa-agency-directory .ppsa-lang-fab--fixed {
	position: fixed !important;
	--ppsa-float-fab-size: 3.4rem;
	z-index: 100050;
	bottom: max(1.1rem, env(safe-area-inset-bottom, 0px));
	right: max(0.95rem, env(safe-area-inset-right, 0px));
	pointer-events: auto;
}body.ppsa-agency-directory.ppsa-welcome-active .ppsa-lang-fab--fixed {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}.ppsa-agency-directory .ppsa-lang-fab--fixed .ppsa-lang-fab__panel {
	z-index: 100060;
}.ppsa-agency-directory .ppsa-lang-fab__toggle {
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: linear-gradient(155deg, #0b1220 0%, #1e3a8a 55%, #2563eb 100%);
	color: #fff;
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.4);
}.ppsa-agency-directory .ppsa-lang-fab__toggle .ppsa-lang-fab__code{color:#fff}.ppsa-agency-directory .ppsa-lang-fab__panel{background:#fff;color:#0f172a}.ppsa-agency-directory .ppsa-lang-fab__option{color:#0f172a!important}.ppsa-agency-directory .ppsa-lang-fab__option .ppsa-lang-fab__code{color:#0f172a!important;font-size:.9rem;font-weight:650}.ppsa-agency-directory .ppsa-lang-fab__option.is-active{background:color-mix(in srgb,var(--ppsa-dir-accent,#2563eb) 18%,#fff);color:#0f172a!important}/* Contacto extendido empleado (vCard) */
.ppsa-emp-contact-extended {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 0.65rem 0.75rem;
	margin: 0;
	background: #fff;
}.ppsa-emp-contact-hint {
	margin: 0 0 0.5rem;
	line-height: 1.35;
}.ppsa-emp-contact-phones,
.ppsa-emp-contact-emails {
	display: grid;
	gap: 0.65rem;
}@media (min-width: 640px) {.ppsa-emp-contact-phones,
	.ppsa-emp-contact-emails {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}.ppsa-emp-contact-phone-row:first-child,
	.ppsa-emp-contact-email-row:first-child {
		grid-column: 1 / -1;
	}}.ppsa-emp-contact-row-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 0.35rem;
}.ppsa-emp-contact-row-head .ppsa-input {
	min-width: 7rem;
	max-width: 9rem;
	font-size: 0.82rem;
	padding: 0.35rem 0.45rem;
}.ppsa-emp-contact-phone-fields,
.ppsa-emp-contact-fax-fields {
	display: flex;
	gap: 0.35rem;
	flex-wrap: wrap;
	align-items: center;
}.ppsa-emp-contact-phone-fields .ppsa-emp-contact-phone-cc,
.ppsa-emp-contact-fax-fields .ppsa-emp-contact-fax-cc {
	min-width: 7rem;
	flex: 0 0 auto;
}.ppsa-emp-contact-phone-fields .ppsa-emp-contact-phone-local,
.ppsa-emp-contact-fax-fields .ppsa-emp-contact-fax-local {
	flex: 1 1 8rem;
	min-width: 8rem;
}.ppsa-emp-contact-phone-fields .ppsa-emp-contact-phone-ext {
	flex: 0 0 5rem;
	max-width: 6rem;
}.ppsa-emp-contact-email-address {
	width: 100%;
	margin-top: 0.15rem;
}.ppsa-emp-contact-fax-block {
	margin-top: 0.5rem;
}.ppsa-emp-contact-more {
	margin-top: 0.5rem;
}.ppsa-emp-contact-more > summary {
	cursor: pointer;
	user-select: none;
	padding: 0.2rem 0;
}.ppsa-emp-contact-more-body {
	display: grid;
	gap: 0.5rem;
	margin-top: 0.5rem;
}.ppsa-emp-contact-addr-grid {
	display: grid;
	gap: 0.45rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}/* 0.70.0 — Logo clicable; valoraciones lista; modal agencia por encima de sticky. */
.ppsa-agency-logo-hit {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
	color: inherit;
}.ppsa-avatar-visual--agency-logo {
	position: relative;
	display: inline-block;
	max-width: 100%;
}.ppsa-agency-logo-over-avatar {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 26%);
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: auto;
	max-width: min(52%, 140px);
	min-width: 48px;
	line-height: 0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.18);
	background: rgba(255, 255, 255, 0.97);
	padding: 2px;
}.ppsa-agency-logo-over-avatar .ppsa-pos-applied--logo {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: inherit;
	margin: 0;
	flex-shrink: 0;
}.ppsa-agency-logo-over-avatar .ppsa-profile-logo {
	display: block;
	width: var(--ppsa-agency-logo-size, 48px);
	height: var(--ppsa-agency-logo-size, 48px);
	margin: 0;
	flex-shrink: 0;
}.ppsa-agency-logo-over-avatar .ppsa-profile-logo--pill {
	width: calc(var(--ppsa-agency-logo-size, 48px) * 1.75);
	height: var(--ppsa-agency-logo-size, 48px);
}.ppsa-agency-logo-over-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
